0

我正在尝试使用从左到右的动画从列表中更改卡片上的数据,并且我的动画可以正常工作,但是卡片视图完全向左移动,然后从右侧加载新数据。

我希望卡片动画像 recyclerview 一样,其中一个视图在向左动画时肉眼可见。

prevbtn.setonClickListener{
    rightSlideAnim()         // left to right swipe
}

nextbtn.setonClickListener{
    leftSlideAnim()            // right to left swipe
}

动画代码在这里:

--- ---

private fun leftSlideAnim(){
    val leftSlide = AnimationUtils.loadAnimation(context, R.anim.anim_left_out)
    constraintlayout.startAnimation(leftSlide)
    leftSlide.setAnimationListener(object: AnimationListener{
        override fun onAnimationStart(animation: Animation?) {
        }

        override fun onAnimationEnd(animation: Animation?) {
            loadData(randomListItem)
        }

        override fun onAnimationRepeat(animation: Animation?) {
        }

    })
}

private fun rightSlideAnim(){
    val rightSlide = AnimationUtils.loadAnimation(context, R.anim.anim_right_in)
    constraintlayout.startAnimation(rightSlide)
    rightSlide.setAnimationListener(object: AnimationListener{
        override fun onAnimationStart(animation: Animation?) {
            loadData(randomListItem)
        }

        override fun onAnimationEnd(animation: Animation?) {

        }

        override fun onAnimationRepeat(animation: Animation?) {
        }

    })
}

因为,所有这些动画都发生在同一个约束布局上,所以视图完全向左(当动画左时),之后只有同一个视图带有绑定的新数据。

我希望它能够像添加回收器那样运行,以便在滚动时一个项目 50% 可见,下一个项目 50% 可见。

任何形式的帮助将不胜感激。

4

0 回答 0