查看原文
其他

RecycleView刷新闪烁解决方案

2017-01-12 于哥 终端研发部
今日要闻

一名老外眼中的微信红包和行业观察

早在2013年,在推出红包一年以前,微信就推出了在线支付的功能。但是拥有着让人们上瘾作用的红包,才真正普及了微信的进行转账、付款等等在线支付功能。今天,在七个多亿的微信大军当中,将近三亿用户将他们的银行信息提供给了微信支付平台——这让人们能够通过微信存取现金并放进他们真正的钱包当中。这都是在为这个全世界最繁忙的可移动支付系统做贡献。2015年,中国的移动交易高达两千三百五十亿美金,首次超越美国成为世界移动交易龙头国家。根据iReaserch调查显示,2016年中国移动交易已高达15.7万亿元,是eMarket对美国2017移动交易数额预估625亿美金的28倍。尽管在国内取得了巨大的成功,但微信在其他地方发展速度远远不及在中国。鉴于在硅谷和华尔街持续已久的数字付款战争,我们并不清楚红包战争是否会蔓延到美国。

文正

于亚豪的博客地址:

http://blog.csdn.net/androidstarjack/article/details/54238073

教你如何解决RecycleView刷新闪烁解决方案

早前在做项目的时候, 用到RecycleView,但是在加载数据的时候,list.addAll(subList);然后在调用其刷新方法notifyDataSetChanged();就是出现item闪烁灯问题。这是因为recycleView自带的ItemAnimator惹的祸。那么我们如何去解决呢?

有两种参考方法:

  • 第一种直接刷新

  • 第二种 只需要其中的两个属性值即可。 
    首先把默认的动画(DefaultItemAnimator)代码复制到自定义的 
    MyItemAnimator类里面。 
    接着找到animateChangeImpl方法修改其中的两行代码。 
    // 去掉alpha(0)


// 去掉alpha(1)

最后使用:

废话不多说,我们需要重新自定义SimpleItemAnimator 即可。看代码:


中间部分代码略去


相关类下载地址:MyMainItemAnimation.java 
如果你觉得此文对您有所帮助,欢迎入群 QQ交流群 :232203809 
微信公众号:终端研发部 
(欢迎关注学习和交流) 

 





您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存