当前位置:  开发笔记 > 编程语言 > 正文

当视图离开屏幕时,Android动画停止在recyclerview中起作用

如何解决《当视图离开屏幕时,Android动画停止在recyclerview中起作用》经验,为你挑选了1个好方法。

我这样设置动画:

@Override
    public void onBindViewHolder(ViewHolder holder, int position) {     
            Animation anim = AnimationUtils.loadAnimation(context, R.anim.rotate);
            holder.windPropellers.setAnimation(anim);
            break;
}

当视图滚动离开屏幕时,动画将停止。当您向后滚动时,它根本就没有动画。



1> jonathanrz..:

您需要在视图中设置瞬态,以防止其被回收。

您的代码如下所示:

@Override
public void onBindViewHolder(final ViewHolder holder, int position) {     
        Animation anim = AnimationUtils.loadAnimation(context, R.anim.rotate);
        holder.windPropellers.setHasTransientState(true);
        anim.setListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                holder.windPropellers.setHasTransientState(false);
            }
        });
        holder.windPropellers.setAnimation(anim);
        break;

}

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有