Android自定义加载动画

自定义动画知识点:

绘制

Invalidate触发绘制(刷新)

ValueAnimator属性动画

canvas画布的一些操作:translate(重新映射画布上的 (0,0) 位置),alpha,scale(缩放当前绘图至更大或更小),rotate(旋转当前绘图)


绘制图前先理清图像的关系:比如圆的半径,圆心在屏幕的位置

1、创建动画的类继承view,并实现构造函数


2、定义动画图像的各种属性:半径、间距


要画图前首先要确定图像的位置,大小

可以画图像布局示意图:

大圆半径为3R,小圆半径为1R,两圆间距为0.5R。则可以得出:

布局图像最大长度minWidth:(2*3R+2*R+0.5R)= 8.5R

布局图像最大高度minHight:2*3R=6R

圆心位置:屏幕宽度为width,屏幕高度为hight

大圆心所在水平位置Cx:(width-minWidth)/ 2+3R

大圆心所在竖直位置Cy: hight/2

3、通过onSizeChaged获得对应的尺寸变化

4、onDraw方法进行对应的绘制


使用drawCircle需要:cx,cy,半径,画笔

因此需要自己配置画笔:


实现动画效果:

duration:动画的持续时间

repeatCount:动画的重复

每次动画都重新绘制:invalidate()

同理:在创建一个动画


同时执行动画:animator.playTogether()

启动动画和结束动画:


设置点击事件:


初始化点击事件:


并在main_Activity中调用init()即可实现动画:

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容