android最全的动画讲解

06-01 1158阅读

android的动画一共分为三种,view动画,帧动画,属性动画。

View动画

什么是view动画,动画的对象只能是view的动画叫做view动画。view动画一共分为四种:TranslateAnimation(平移),ScaleAnimation(缩放),RotateAnimation(旋转),AlphaAnimation(透明度)四种动画。还有一个 AnimationSet(组合动画),他们都继承Animation 类。要记得view动画是通过通过Convas相关设置得以实现,而不是改变view的属性的,所以会出现一个问题就是view平移了,点击事件却没有改变。(当一个view开始一个view动画后,不是马上执行view的动画,而是请求重绘,等一个16.8ms后,重新遍历view树的时候,再绘制,而动画的执行是在这个view的父view中通过操作view的画布的坐标来实现的)

要切记一点所有动画的原点坐标都是相对于View的左上顶点

view动画的实现方式一共两种:动态代码和xml文件实现。建议使用xml使用,复用性强。

android最全的动画讲解

 xml中使用,必须创建xml文件,文件路径:res/anim/filename.xml

TranslateAnimation动画

代码实现:

android最全的动画讲解

如果没有指定fromXType的话,就是默认的 ABSOLUTE

 构造方法一共如上三种。

formXType:指定应如何解释fromXValue。一共有三种模式:

ABSOLUTE  //绝对值,单位是px
RELATIVE_TO_SELF //相对于自身,意思是fromXValue*自身的宽度
RELATIVE_TO_PARENT //相对于父类的,意思是fromXvalue*父类的宽度

常用的属性:

duration :动画持续时间,默认是0,马上的意思
fillAfter: 动画执行完毕后,是否保持结束位置
fillBefore:动画结束后,是否保持开始位置
repeatCount:动画重复,默认是1次,-1代表无效循环
repeatMode:动画重复模式 Animation.REVERSE (动画结束后,反向重复)  Animation.RESTART(每次都重新开始)
interpolator:动画的插值器,随时间改变,动画属性的改变百分比
reset:重置动画
setStartOffset:动画相对开始时间延迟多久开始,offset-偏移
setStartTime:设置动画执行的具体时间,单位为以毫秒为单位的开始时间。
cancel():动画停止,同时停止view动画,还可以使用it.clearAnimation(),区别在于,cancel是停止指定动画,clearAnimation()是停止于作用当前view的动画,他们都会回调onAnimationEnd方法。
xml实现:

首先在res中创建 anim文件夹, 

android最全的动画讲解

往上选择anim选项,名字只能是固定的anim 

android最全的动画讲解

创建完成后,右键,创建xml动画

android最全的动画讲解

创建slide_1.xml  

第一种写法:




是animationSet的xml写法,如果这样写的话,会发现一个问题,就是在
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码