关于动画的一些见解

Animator 关系

Animator 抽象类  
   1、AnimatorSet 子类
   2、ValueAnimator 子类
       1、ObjectAnimator 子类
       2、TimeAnimator   子类

介绍几个开源动画库

1、2017年酷炫的动画库https://blog.csdn.net/lixuce1234/article/details/78188762
2、开源代码 按钮的动画
http://www.jcodecraeer.com/plus/list.php?tid=31&codecategory=1500

这个网站中有好多按钮的动画。比如收藏、点赞等,很多想要的效果都可以在这里找到。
我这次碰到的是关于收藏的按钮,http://www.jcodecraeer.com/a/opensource/2015/1009/3555.html
这个正好符合项目的需求,然后自己再重新整理了一下。感觉还是挺不错的。

开发中碰到的问题

1、RecycleView中使用动画

今天碰到的是在ReclclerView 中使用点击按钮收藏的功能,但是呢,动画没有生效,误以为是RecyclerView
导致的,后来打日志跟踪,发现是自己自定义的动画有问题。

小结:缩小问题的范围,才能看到本质,避免查找方向不对问题。

2、解决RecyclerView 刷新单行闪一下问题

方案一:
((SimpleItemAnimator)recyclerView.getItemAnimator()).setSupportsChangeAnimations(false);
设置禁止动画

方案二:
recyclerView.getItemAnimator().setChangeDuration(0);
设置动画的执行是时间为0

3、如何自定义控件

写自定义控件的时候,一定要考虑扩展性,而且要把基本的功能写全,避免后期的改动,当然有了扩展性,那么问题也不大。
尽量使用传参,灵活的修改一些属性

4、处理列表中显示动画

这是一个有意思的问题,就是呢,在列表中不刷新动画,但是呢点击的时候要显示动画。而在点击的时候是用刷新单行来做的。
那么这就会导致一个问题,刷整个列表也会有动画,看起来就有点怪。如何在刷整个列表不动画呢。

怎么解决上面的问题呢,在列表的适配器传入数据中加个是否动画的属性,点击的时候,改变这个属性,让他可以刷新。
如果是刷列表,那么使用默认属性,也就不展示动画。

怎么解决问题

1、处理逻辑问题

对于复杂业务的判断处理。我觉得更应该花些心思在算法上的学习,只有算法搞得透彻,那么对于编程
将有大大的好处。网上的耗子叔就是讲到了一定要学算法,对于后面的帮助还是很大的。

如何用更简单的方式来处理问题。多去思考,在做每一件事情都尽力做到最好。其实能力的提升就是
在这些当中提升的,只是我们总是好高骛远。以后会花心思研究做事方法。

2、态度

耐心,应该是写程序最大的优点了。如果能够沉住气,那么对于自己的编程将会大大的有帮助。

如果对你有一点点帮助,那是值得高兴的事。:)

我的csdn:http://blog.csdn.net/shenshizhong
我的简书:http://www.jianshu.com/u/345daf0211ad
我的github:https://github.com/shenshizhong/daily-update-note

    原文作者:shenshizhong
    原文地址: https://www.jianshu.com/p/55b134fab076
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞