来源扔物线大神的网站:关注我就能达到大师级水平,这话我终于敢说了 (rengwuxian.com)
模仿其中的三篇:即刻点赞,薄荷健康尺子,Flipboard动画
应用了许多自定义View的知识,测量,绘制,属性动画,滑动,惯性滑动,速度计算,几何变换,camera。
效果照葫芦画瓢实现了个七七八八,各个功能点的实现还是有些参考性的。
每个自定义View都有单独的文章讲解思路+源码附上。
Android UI-即刻点赞 - 掘金 (juejin.cn)
Android UI-薄荷健康尺子 - 掘金 (juejin.cn)
Android UI-Flipboard(红板报)折纸动画 - 掘金 (juejin.cn)
谈一点点心得
实际最重要,文章只是片段,其他人实践经验的片段,可能写文章的人觉得逻辑自洽,读者应该会懂。但是读者与作者相差实践的经验,有些关键点真的不好懂,想学就要实践一遍代码
自定义View的知识太感性了。坐标系,动画是怎么动的很难用文字描述清楚,亲自上手试一试修改参数是最有效的方法。
刚刚上手写的时候千万不要急,一个自定义View是很复杂的,先把整个动效拆解成N个小步骤,一步一步来,一帧一帧的绘制。
先绘制静态效果,然后考虑动画如何实现是比较合理的。
一次性把效果实现的尽善尽美有点难,会把自己搞的很头大半天看不见效果,心里烦。遇到不明白的借鉴一下别人的思路代码很正常,千万别钻牛角尖把自己心态搞崩了,学会了去装逼最重要 🐶
实现复杂UI效果困难的点在于,没办法很好分辨出这个效果是有那些部分组成的。比如:先平移,旋转,缩放最后复原。
平移旋转缩放大家肯定都会,利用动画api就可以实现,但是直接给一个完整的效果,从中剥离出一个个组成部分就很麻烦了。
乱花渐欲迷人眼,看那么复杂的动画直接麻了。可能看个半天才会恍然大悟,哦!原来是这么回事!
实际开发中可能会好一点,UI设计好动画交给开发。 开发可以直接问UI,动画是怎么构成的。UI直接告诉你先平移在旋转就很容易了。
emm 祝大家健康,有钱 😂