Просмотр радиуса угла с помощью анимации - PullRequest
0 голосов
/ 04 августа 2020

Вот часть макета

<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
    }
}

Вывод:

введите описание изображения здесь

Работает хорошо, но есть ли способ избавиться от угловых сбоев во время анимации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...