为recyclerview实现淡入/淡出动画的正确方法

时间:2018-01-21 11:09:28

标签: android animation android-recyclerview

我想知道,使用MVP模式为recyclelerview项目(onClick事件)实现淡入/淡出动画的正确方法是什么。

嗯,我的方法是:

  1. 用户触摸项目
  2. [在我的视图中] adapter.notifyItemChanged(position: Int)

    1. onBindViewHolder()做出反应,这就是我设置动画的地方:

      override fun itemSelected(selected: Boolean) { if (selected) { notSoSpecialView.visibility = View.GONE specialView.startAnimation(AnimationUtils.fadeIn()) specialView.visibility = View.VISIBLE } else { notSoSpecialView.visibility = View.VISIBLE specialView.startAnimation(AnimationUtils.fadeOut() specialView.visibility = View.GONE } }

    2. 嗯,它按照我预期的方式工作时点击了项目 - 它正确淡出/淡出,但是,当我快速向下/向上滚动时,视图会被重新加入,现在,每个视图调用itemSelected(false)这会产生不必要的动画。我怎么能避免这个?

      我确实尝试使用specialView.clearAnimation(),但这不起作用。

1 个答案:

答案 0 :(得分:-1)

您需要ItemAnimator

例如,您可以参考此link on SO以及来自Medium

的非常好的资源