前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自定义动画怎么学

自定义动画怎么学

作者头像
用户1907613
发布2018-07-20 16:08:40
5200
发布2018-07-20 16:08:40
举报
文章被收录于专栏:Android群英传Android群英传

前面讲了如何学习自定义View,今天来继续渡劫——如何学习自定义动画。

渡劫心法

自定义View是学好自定义动画的基础,如果你已经顺利渡过前面几个大劫,那么现在,你就可以好好想想了,怎么来进阶自定义动画。首先,来想想动画是怎么实现的,小时候都看过连环画,一个小本子上画上一些关键帧,然后快速翻动,就成了最简单的动画。那么Android程序又何尝不是这样呢,这不过这里的翻动被改成了重绘而已。这简单的原理,却蕴含着自定义动画最深层次的奥义,一定要好好体会。

第八劫重绘

前面说了,重绘是实现动画的基础,那么好好理解 invalidate、postinvalidate、postInvalidateDelayed这些重绘方法,就显得尤其重要了。而且,不仅仅要了解什么时候去使用它们,更要了解,他们实现的原理是什么,这对于提高对绘图机制的整体把握很有帮助。

第九劫属性动画

属性动画绝对是实现动画的不二神器,对于简单的动画,通过ObjectAnimator就可以实现了,甚至你可以自己构造属性,来让属性动画起作用,而且你可以通过AnimationSet来完美的控制动画集。而ValueAnimator,则更是实现高级动画的法宝。通过ValueAnimator,几乎可以实现一切动画效果,特别是配合贝塞尔曲线和PathMeasure。属性动画的使用非常简单,进阶也不难,难的是对于属性动画中插值器和估值器的理解,这一点,需要花功夫好好去消化,下面这个是我在慕课网的视频,讲解属性动画的使用技巧:

http://www.imooc.com/learn/263 属性动画赏析

第十劫数学数学

其实自定义动画和View做到这里,几乎已经没有什么难的了,唯一阻挡你突破极限的,唯有——数学。动画,说白了,就是对点、线的坐标按照一定的数学规则进行不断变化的过程。所以,一个复杂的动画,必然有一个数学规律在后面,开发者需要的就是将这样一个规则给找出来,给拆解出来。将整个过程分解成若干个部分,分别找出规律来实现就可以了。所以说,动画的精髓,还是在于数学,那些说数学学了没用的朋友,请站出来,让我用动画来好好教育教育你。

写到这里,自定义View和自定义动画的精髓基本上就讲完了,总得来说,这两件事是最好装逼的东西,毕竟展示效果最容易抢眼球,而且也不难,只要你静下心好好分析,而不是畏首畏尾,想找个现成的抄抄。自己花精力好好去做那么一二十个动画、View,基本上就可以完爆公司的设计师了。

那么,在这样一个特别的日子里,我祝各位开发者都能早日突破十劫试炼,达到惊为天上人的水准。

本公众号严正申明,在今天这个特别的日子里,绝不首先虐狗!所以留到现在才发~~如果你能坚持看到这里,你真的是我的真(单)爱(身)粉(汪)啊!!!

今天是个好日子,写个bug送给你最爱的人吧~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 群英传 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档