美文网首页Android DemoAndroid开发经验谈Android 开发技术分享
一分钟手握手教你实现RecyclerView的Item动画

一分钟手握手教你实现RecyclerView的Item动画

作者: 小怪兽打葫芦娃 | 来源:发表于2017-06-10 23:23 被阅读830次

    Android程序员面试宝典

    安全专题

    自定义控件

    联网

    工具

    数据库

    源码分析相关面试题

    Activity相关面试题

    Service相关面试题

    与XMPP相关面试题

    与性能优化相关面试题

    与登录相关面试题

    与开发相关面试题

    与人事相关面试题

    配套视频

    http://www.toutiao.com/i6430368196905140737/

    直接使用让RecyclerView的Adapter直接继承下面的动画Adapter

    public class AnimRecyclerViewAdapter<T extends RecyclerView.ViewHolder>
            extends RecyclerView.Adapter<T> {
        private static final int DELAY = 138;
        private int mLastPosition = -1;
        private Context mContext;
        @Override
        public T onCreateViewHolder(ViewGroup parent, int viewType) {
            return null;
        }
        @Override
        public void onBindViewHolder(T holder, int position) {}
        @Override
        public int getItemCount() {return 0;}
        public void showItemAnim(final View view, final int position) {
            mContext = view.getContext();
            if (position > mLastPosition) {
                view.setAlpha(0);
                view.postDelayed(new Runnable() {
                @Override
                public void run() {
                Animation animation = AnimationUtils.loadAnimation(mContext,
                                R.anim.item_right);
                animation.setAnimationListener(new Animation.AnimationListener() {
                 @Override 
                 public void onAnimationStart(Animation animation) {
                        view.setAlpha(1);
                  }
                  @Override 
                  public void onAnimationEnd(Animation animation) {}             
                   @Override 
                   public void onAnimationRepeat(Animation animation) {}
                        });
                        view.startAnimation(animation);
                    }
                }, DELAY * position);
                mLastPosition = position;
            }
        }
    }
    
    
    
    • 欢迎关注微信公众号、长期为您推荐优秀博文、开源项目、视频

    • 微信公众号名称:Android干货程序员

    相关文章

      网友评论

      • 266f9ab36861:大神,你好,请教能你个问题,我按照你思路写了点,效果是可以。出现动画乱序的现象,请问您有出现过吗?就是前面的item 动画刚刚开始可以顺序播放,继续向下拉的时候,或是快速向下拉的时候就出现播放乱序,请问你有遇到?我itemCount 数量比较多,设置100 个。想了很多方式还是没办法解决
        266f9ab36861:已经找到问题点了,viewholder复用问题导致的
      • 冰河世纪_d2d7:大大。R.anim.item_right 没放出来
        266f9ab36861:大神,你好,请教能你个问题,我按照你思路写了点,但是效果不对。出现动画乱序的现象,请问您有出现过吗?
        小怪兽打葫芦娃:那个是动画,动画随便你怎么实现都可以。我只是提供一个模版
      • 阳光底下的那个少年:如果有效果图就更完美了哈哈
      • f5d6ee5118da:能不能把这部分demo放出来😁,想看看baselistadapter里面的代码
        f5d6ee5118da: @马伟奇 奥,好吧,那我就简单看看吧
        小怪兽打葫芦娃:@第三天_5c80 你是看了视频是吗,我的代码写的特别特别复杂,估计放出来也不太好理解

      本文标题:一分钟手握手教你实现RecyclerView的Item动画

      本文链接:https://www.haomeiwen.com/subject/newcqxtx.html