如何解决RecycleView项目上的Android动画问题?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (234)

这是收缩动画代码的一部分,其中收缩是一个Value动画对象

shrink.addUpdateListener { animation ->
        val animatedValue = animation.animatedValue as Int
        v.layoutParams.width = animatedValue
        v.requestLayout()
    }
    shrink.addListener(object : AnimatorListenerAdapter() {
        override fun onAnimationStart(animation: Animator) {
            super.onAnimationStart(animation)
            v.visibility = View.VISIBLE
            v.isEnabled = false
        }
        override fun onAnimationEnd(animation: Animator) {
            super.onAnimationEnd(animation)
            v.layoutParams.width = 0
            v.visibility = View.GONE
            v.isEnabled = false
        }
   }

有一个View和ViewHolder类,其中在滚动时绑定循环视图项的可见性

提问于
用户回答回答于

从删除RecyclerView项目动画默认值开始

recyclerView.setItemAnimator(null);

取消适配器中的任何自定义运行动画onViewRecycled

用户回答回答于

如果在视图上触发动画并滚动列表,动画将继续进行,但在某个时候,视图会被回收并重新填充,从而导致奇怪的状态,解决方案是取消动画并将初始状态设置为onBindViewHolder方法的适配器

扫码关注云+社区

领取腾讯云代金券