android之animation
Android Animation一共有四种
Alpha: 淡入淡出效果
Scale: 缩放效果
Rotate: 旋转效果
Translate:移动效果
使用Tweened Animations的步骤
1.创建一个AnimationSet对象
2.根据需要创建需要的Animation对象
3.根据软件动画的需要,为Animation对象设置相应的数据
4.将Animation对象添加到AnimationSet对象中
5.使控件对象开始执行AnimationSet
Alpha动画
AnimationSet as=new AnimationSet(true);
AlphaAnimation al=new AlphaAnimation(1,0);
//1代表完全不透明,0代表完全透明
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
AnimationSet as=new AnimationSet(true);
AlphaAnimation al=new AlphaAnimation(1,0);
//1代表完全不透明,0代表完全透明
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
Rotate动画
AnimationSet as=new AnimationSet(true);
RotateAnimation al=new RotateAnimation (0,720,Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.5f);
//前两个参数参数旋转的角度,后面几个参数决定旋转的中心
//Animation.ABSOLUTE:绝对坐标
//Animation.RELATIVE_TO_PARENT:相对父控件
//Animation.RELATIVE_TO_SELF:相对自己
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
AnimationSet as=new AnimationSet(true);
RotateAnimation al=new RotateAnimation (0,720,Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.5f);
//前两个参数参数旋转的角度,后面几个参数决定旋转的中心
//Animation.ABSOLUTE:绝对坐标
//Animation.RELATIVE_TO_PARENT:相对父控件
//Animation.RELATIVE_TO_SELF:相对自己
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
Scale动画
AnimationSet as=new AnimationSet(true);
ScaleAnimation al=new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
//前四个参数是X从多大到多大,Y从多大到多大,后面的参数是缩放的中心点
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
AnimationSet as=new AnimationSet(true);
ScaleAnimation al=new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
//前四个参数是X从多大到多大,Y从多大到多大,后面的参数是缩放的中心点
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
Translate动画
AnimationSet as=new AnimationSet(true);
TranslateAnimation al=new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2);
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
AnimationSet as=new AnimationSet(true);
TranslateAnimation al=new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2);
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
Animation还有几个方法
setFillAfter(boolean fillAfter)
如果fillAfter的值为真的话,动画结束后,控件停留在执行后的状态
setFillBefore(boolean fillBefore)
如果fillBefore的值为真的话,动画结束后,控件停留在动画开始的状态
setStartOffset(long startOffset)
设置动画控件执行动画之前等待的时间
setRepeatCount(int repeatCount)
设置动画重复执行的次数
最新文章
- C#复习④
- linux命令-sftp(模拟ftp服务)和scp(文件异地直接复制)
- PDA设备小知识--(IP)工业防护等级含义
- mrg_myIsam分表引擎用法
- java dom4j解析xml用到的几个方法
- mininet 中图形化界面的安装
- php 常用的JS
- win8快捷键
- SDL2.0 vs2017环境配置
- C#单元测试如何查看输出的调试信息?
- C#中那些常用的工具类(Utility Class)(一)
- 【洛谷P1637】三元上升子序列
- Asp.Net Core微信服务中间件-.NetCore2.1
- IE6/7 单选按钮 radio 无法选中解决方法
- 好文推荐:转载一篇别人kaggle的经验分享
- sqoop导入导出
- async/await 与 generator、co 的对比
- POJ 2449 Remmarguts' Date (K短路 A*算法)
- 【BZOJ5110】[CodePlus2017]Yazid 的新生舞会 线段树
- tensorflow wide deep 介绍