RecyclerView item刷新动画问题

当使用RecyclerView的notifyItem*方法更新单个Item时,会伴随默认的闪烁动画。要消除动画,可以采取两种策略:一是自定义ItemAnimator,重写并去除透明度动画;二是直接调用DefaultItemAnimator的相关属性进行设置,防止动画播放。
摘要由CSDN通过智能技术生成

RecyclerView在操作单个Item时有提供notifyItem*方法,但是都会附带闪烁动画(默认实现DefaultItemAnimator),但是调用notifyDataSetChanged()却不会,如果想要notifyItem方法,但是又不想要动画,怎么办?方法还是有的:

有两种方案:

方案一:

重写RecyclerView动画

1、新建一个类CustomAnimator集成RecyclerView.ItemAnimator

2、拷贝源代码,然后修改源码参数(发现动画效果主要是透明度问题):

1):oldViewAnim.alpha(0).setListener...

2):newViewAnimation.translationX(0).translationY(0).setDuration(getChangeDuration()).alpha(1).

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值