无法在RecyclerView的Viewholder项上停止动画

时间:2017-04-28 17:58:45

标签: android android-recyclerview android-animation android-viewholder

当滚动视图时,我很难在ViewHolder中的某个项目上停止动画:当视图变得可见时,动画工作正常。但是,当我滚动视图然后再回到它时,动画挂起并且无法正常重新启动。请参阅visual demo(第17页左右)

我已经尝试了几种方法来停止动画,但它们都不起作用。我目前的实施如下。

在我的适配器中:

public void onViewAttachedToWindow(BaseViewHolder holder) {
    if (holder instanceof MyViewHolder) {
        holder.cancelAnimation();
        holder.setupAnimation();
    }
}

// cancelAnimation method in my ViewHolder
public void cancelAnimation() {
    if (myAnimatorSet != null) {
        myAnimatorSet.removeAllListeners();
        myAnimatorSet.end();
        myAnimatorSet.cancel();
    }
}

1 个答案:

答案 0 :(得分:0)

对正在设置动画的视图执行View#clearAnimation()



    holder.someView.clearAnimation();