Android 中Animations的使用 代码篇
来源:互联网 发布:dijkstra算法证明 编辑:程序博客网 时间:2024/05/19 00:42
Android 中Animations的使用xml篇:http://blog.csdn.net/leirenbaobao/article/details/42395153
这里讨论如何在代码中实现Animations的效果。
注:屏幕左上角是坐标零点,往下往右为y,x正方向
在代码中设置Animations的步骤:
1.创建一个AnimationSet对象;
2.增加需要创建相应的Animation对象;
3.为Animation对象设置相应的数据;
4.将Animatin对象添加到AnimationSet对象当中;
5.使用控件对象开始执行AnimationSet。
alpha效果:
//新建AnimationSet对象,true表示使用默认的interpolater效果AnimationSet animationSet = new AnimationSet( true);//设置淡入淡出效果, 1是起始透明度, 0是结束透明度AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);//设置动画时长alphaAnimation.setDuration(5000);//将动画效果添加至集合中animationSet.addAnimation(alphaAnimation);//开始动画view.startAnimation(animationSet);
Scale效果:
//新建AnimationSet对象,true表示使用默认的 interpolater效果AnimationSet animationSet = new AnimationSet( true);//设置缩放效果,第一个0,1是x轴起始、结束拉伸, 第二个0,1是y轴起始、结束拉伸ScaleAnim ation scaleAnimation = new ScaleAnimation(0, 1, 0, 1);//设置动画时长scaleAnimation.setDuration(5000);//将动画效果添加至集合中animationSet.addAnimation(scaleAnimation);//开始动画view.startAnimation(animationSet);
Rotate效果:
//新建AnimationSet对象,true表示使用默认的 interpolater效果AnimationSet animationSet = new AnimationSet( true);//设置旋转效果,从90度到270度RotateAnimation rotateAnimation = new RotateAnimation(90, 270);//设置动画时长rotateAnimation.setDuration(5000);//将动画效果添加至集合中animationSet.addAnimation(rotateAnimation);//开始动画view.startAnimation(animationSet);
translate效果:
// 新建AnimationSet对象,true表示使用默认的 interpolater效果AnimationSet animationSet = new AnimationSet( true);// 设置移动效果//参数列表, int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue//以fromXType,fromXValue为例//fromXType有三种可选的值Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or Animation.RELATIVE_TO_PARENT//Animation.ABSOLUTE是绝对尺寸,当填入这个值时,Value值就可以填入具体的 dp值//Animation.RELATIVE_TO_SELF是相对自己的尺寸,只能填入倍数,如下代码是向右下角平移0.5个自己的长度//Animation.RELATIVE_TO_PARENT是相对父空间的尺寸TranslateAnimation translateAnimation = new TranslateAnimation(Animation.RELATIVE_TO_SELF , 0f, Animation.RELATIVE_TO_SELF , 0.5f, Animation.RELATIVE_TO_SELF , 0f, Animation.RELATIVE_TO_SELF , 0.5f);// 设置动画时长translateAnimation.setDuration(2000);// 将动画效果添加至集合中animationSet.addAnimation(translateAnimation);// 开始动画view.startAnimation(animationSet);
Animation还有一些通用方法用来设置相关状态:
1、setFillAfter(boolean)
如果boolean为true,则执行动画后,控件将停留在动画结束之后的状态。
2、setFillBefore(boolean)
如果boolean为true,则执行动画后,控件将回到在动画开始之前的状态。
3、setStartOffSet(long)
设置动画开始之前的等待时间。
4、setRepeatCount(int)
动画重复执行的次数。
5、setRepeatMode(int)
当设置成Animation.INFINITE死循环执行。
ctrlz presents!
0 0
- Android 中Animations的使用 代码篇
- Android 中Animations的使用 xml篇
- Android animations的使用
- android Tween Animations(动画效果-代码实现)的使用
- Android之Animations的使用
- Android-Animations的使用大全之一:Tweened Animations详解
- Android之各种Animations的使用总结
- Android Animations动画使用
- Animations的使用(三)
- Animations的使用总结
- 安卓中Animations的使用
- Android Animations动画使用详解
- Android Animations动画使用详解
- Android Animations动画使用详解
- Android Animations动画使用详解
- Android Animations动画使用详解
- Android Animations动画使用详解
- Android Animations动画使用详解
- 企业部署虚拟化的七大好处
- Linux系统调用
- iOS-Core-Animation-Advanced-Techniques
- sqlplus中超级好用的小命令
- 数据在Access与Office组件之间如何自由流动
- Android 中Animations的使用 代码篇
- 解决Ruby “Unable to require openssl"问题
- 正则清除HTML标签但保留其中一部分标签
- log4j,slf4j (日志记录工具)
- java利用POI操作EXCEL(基于反射)
- ios判断字符串里面是否有分号,逗号,破折号,句号,省略号
- iCalendar
- Java——线程池的简单实例
- 使用 watchdog 构建高可用性的 Linux 系统及应用