Вот часть макета
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_margin="@dimen/fab_margin"
android:orientation="vertical">
<TextView
android:id="@+id/tvBigger"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/big_open_shape"
android:gravity="center"
android:text="BIGGER"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/tvSmaller"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@drawable/shape1"
android:gravity="center"
android:text="SMALLER" />
</LinearLayout>
А в коде
upAnimation = AnimationUtils.loadAnimation(activity, R.anim.slide_up)
downAnimation = AnimationUtils.loadAnimation(activity, R.anim.slide_down)
downAnimation.setAnimationListener(object : Animation.AnimationListener {
override fun onAnimationStart(animation: Animation) {
}
override fun onAnimationEnd(animation: Animation) {
tvBigger.visibility = View.GONE
tvSmaller.background = ContextCompat.getDrawable(requireContext(), R.drawable.shape)
}
override fun onAnimationRepeat(animation: Animation) {
}
})
tvSmaller.setOnClickListener {
if (tvBigger.visibility == View.VISIBLE) {
tvBigger.startAnimation(downAnimation)
} else {
tvSmaller.background = ContextCompat.getDrawable(requireContext(), R.drawable.shape1)
tvBigger.startAnimation(upAnimation)
tvBigger.visibility = View.VISIBLE
}
}
Вывод:
введите описание изображения здесь
Работает хорошо, но есть ли способ избавиться от угловых сбоев во время анимации.