去掉RecyclerView的默认item动画
https://blog.csdn.net/CSDN_LQR/article/details/54766560
虽说RecyclerView的默认item动画很炫酷,但是在开发中,客户的需求可能并不需要使用item动画,不仅觉得没用,反而觉得这些item动画是程序的bug。

本人在做开发仿微信项目时就遇到这类问题,动态增加、删除条目时就有一个切换的动画,这明显不是我想要的,于是百度,百度到一篇有点用的文章(RecyclerView局部刷新动画屏蔽添加链接描述),文章说到的只是针对RecyclerView的notifyItemChanged,notifyItemAdd,notifyItemRemoved方法的默认动画进行屏蔽,设置之后并不能解决我的问题,没有效果。

于是,继续研究,最后,得到一个结论:为了解决上述问题,有两种做法,一种是重写ItemAnimator并对RecyclerView进行设置(网友说的,但没有给出代码…),另一种是设置ItemAnimator的动画时间(自己无意间想到的,why? I don’t know),权衡自己的目前实力和项目时间,我决定使用第二种方式,在RecyclerView的源码中可以看到各种动画的执行时长如下:

private long mAddDuration = 120;
private long mRemoveDuration = 120;
private long mMoveDuration = 250;
private long mChangeDuration = 250;

而RecyclerView自带getItemAnimator().setXXDuration();方法。所以,接下来直接上代码(该代码中的this指的就是RecyclerView,是本人一个开源项目LQRRecyclerViewLibrary中的部分代码片段):

/*** 打开默认局部刷新动画*/public void openDefaultAnimator() {this.getItemAnimator().setAddDuration(120);this.getItemAnimator().setChangeDuration(250);this.getItemAnimator().setMoveDuration(250);this.getItemAnimator().setRemoveDuration(120);((SimpleItemAnimator) this.getItemAnimator()).setSupportsChangeAnimations(true);}/*** 关闭默认局部刷新动画*/public void closeDefaultAnimator() {this.getItemAnimator().setAddDuration(0);this.getItemAnimator().setChangeDuration(0);this.getItemAnimator().setMoveDuration(0);this.getItemAnimator().setRemoveDuration(0);((SimpleItemAnimator) this.getItemAnimator()).setSupportsChangeAnimations(false);}

去掉RecyclerView的默认item动画相关推荐

  1. RecyclerView 分割线和 Item默认增删动画

    虽然RecyclerView出现已经有一段时间了,但是还是想要自己总结一下,总的来说其基本使用方法: 你想要控制其显示的方式,请通过布局管理器LayoutManager; 你想要控制Item间的间隔( ...

  2. recyclerview item动画_RecyclerView 的 Item 酷炫动画,效果加案例讲解!

    Caner Gures | 作者依然范特西稀 | 译者技术最TOP(ID:Tech-Android) | 来源 在完成 app 的编码之后,对于一个要求美观的现代 App 来说,仅仅实现功能是不够的, ...

  3. recyclerview item动画_这可能是你见过的迄今为止最简单的RecyclerView Item加载动画...

    如何实现RecyclerView Item动画? 这个问题想必有很多人都会讲,我可以用ItemAnimator实现啊,这是RecyclerView官方定义的接口,专门扩展Item动画的,那我为什么要寻 ...

  4. Android添加item动画,RecyclerView基础篇-Item添加动画

    Android_Banner.jpg 简介 本节中我们介绍下给RecyclerView中的Item添加动画. 添加的动画,分为,在打开列表时有Item的展示动画,当滑动的时候没有动画 和打开列表滑动时 ...

  5. RecyclerView详解 —— 自定义动画

    RecyclerView的强大之处相信大家已经体验到了,在上一篇RecyclerView详解 -- 自定义分割线我们学习了如何定义分割线,本篇将介绍如何自定义动画. Google为我们提供了一个默认的 ...

  6. Android中RecyclerView点击item展开列表详细内容(超简单实现)

    请注明出处: http://blog.csdn.net/qq_23179075/article/details/79230457 Android中RecyclerView点击item展开列表详细内容( ...

  7. 【Android 界面效果49】RecyclerView高度随Item自适应

    编写RecyclerView.ItemDecoration时,在onDraw方法中,Drawable的高度等于RecyclerView的高度减去RecyclerView的上下padding. @Ove ...

  8. android listview remove 动画,给Android ListView添加删除item动画

    给Android ListView添加删除item动画 给listview删除一个item的时候加上一个折叠动画,感觉效果会好一点. 步骤是当删除一个view,先用动画把view的高度改变,看上去就是 ...

  9. RecyclerView高度随Item自适应

    转载请注明出处:http://write.blog.csdn.net/postedit/40425231 编写RecyclerView.ItemDecoration时,在onDraw方法中,Drawa ...

最新文章

  1. python字节码解析_从底层入手,解析字节码增强和Btrace应用
  2. 计算机非211研究生,这所大学不是211,但“计算机”实力远超985,快来看看
  3. SpringBoot:使用JdbcTemplate
  4. 第九周 10.25-10.31
  5. Linux学习笔记(4) - 文件系统
  6. 无意中发现的一份清华大佬的代码模版,简洁易懂!
  7. ubuntu16.04 安装cuda9.0+cudnn7.0.5+tensorflow+nvidia-docker配置GPU服务
  8. MySQL之数据库基本操作语句
  9. 转:Vss2005局域网开发权限设置指南
  10. Android中实现Activity的透明背景效果
  11. 第38届ACM中国区通化邀请赛-中文排名表
  12. 流程图绘图工具 Gliffy 使用简介
  13. java api接口签名验证失败_简单API接口签名验证
  14. vue扫码跳转页面_VUE 网页 扫码登录(微信)
  15. vue结合echarts开发柱状图+折线图合并的图表
  16. 不用 qlv 格式转换成 mp4 - 优雅的下载腾讯视(mp4 格式)
  17. VMware vCenter Converter Standalone
  18. CCNA之EIGRP(IGRP)
  19. java截取视频空间的中间段
  20. 为什么要上机械制造业ERP系统?对企业有什么帮助?

热门文章

  1. r9 5900x配什么主板、显卡、散热
  2. 怎么把图片存在mysql_如何把图片存储在mysql中
  3. 最全4k,8k的高清壁纸网站免费下载
  4. 石英晶振的特点及主要参数
  5. 什么是HBA(Host Bus Adapter,HBA)
  6. Debian安装网易云音乐记录
  7. phpmyadin安装配置
  8. ubuntu qt编译mysql报错_[Linux]QT编译Mysql驱动(Mariadb驱动),解决qmake报错问题
  9. 九个角度分析对比 Android、iOS开发区别
  10. linux 软件包的安装,linux安装软件包的方法