Android动画之Interpolator和AnimationSet
2015-07-02 15:04
696 查看
AnimationSet可以加入Animation,加入之后设置AnimationSet对加入的所有Animation都有效。
[java] view
plaincopy
AnimationSet anim=new AnimationSet(true);
AlphaAnimation a=new AlphaAnimation(1,0);
RotateAnimation ra=new RotateAnimation(0, 720, Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f);
anim.addAnimation(a);
anim.addAnimation(ra);
anim.setDuration(3000);
anim.setStartOffset(1000);
iv.startAnimation(anim);
可以再xml文件中定义多个Animation,这样多个Animation可以一起运行
[html] view
plaincopy
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true"
>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:startOffset="500"
android:duration="3000"
/>
<rotate
android:fromDegrees="0"
android:toDegrees="400"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
/>
</set>
Interpolator可以定义动画播放的速度
![](http://img.my.csdn.net/uploads/201209/06/1346923092_9841.png)
在xml文件中定义Interpolator
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true"
这样所有的Animation共用一个Interpolator。
在代码中用代码设置如下
anim.setInterpolator(new AccelerateInterpolator());
在new一个AnimationSet中传入true则所有的Animation共用Interpolator。
[java] view
plaincopy
AnimationSet anim=new AnimationSet(true);
AlphaAnimation a=new AlphaAnimation(1,0);
RotateAnimation ra=new RotateAnimation(0, 720, Animation.RELATIVE_TO_SELF,0.5f, Animation.RELATIVE_TO_SELF,0.5f);
anim.addAnimation(a);
anim.addAnimation(ra);
anim.setDuration(3000);
anim.setStartOffset(1000);
iv.startAnimation(anim);
可以再xml文件中定义多个Animation,这样多个Animation可以一起运行
[html] view
plaincopy
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true"
>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:startOffset="500"
android:duration="3000"
/>
<rotate
android:fromDegrees="0"
android:toDegrees="400"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
/>
</set>
Interpolator可以定义动画播放的速度
![](http://img.my.csdn.net/uploads/201209/06/1346923092_9841.png)
在xml文件中定义Interpolator
android:interpolator="@android:anim/accelerate_interpolator"
android:shareInterpolator="true"
这样所有的Animation共用一个Interpolator。
在代码中用代码设置如下
anim.setInterpolator(new AccelerateInterpolator());
在new一个AnimationSet中传入true则所有的Animation共用Interpolator。
相关文章推荐
- android属性动画—自己的测试代码
- android动画之一Tween动画
- Android Studio创建库项目及引用
- 基于android平台开发的计算器
- Android 自定义回调
- Android 基于位置的服务(LBS)
- Android打包常见错误之Export aborted because fatal lint errors were found
- 基于android平台开发的计算器
- [Android]Intent 实现页面跳转的方式[转]
- Android Studio中文乱码的解决
- android模拟按键
- [android警告]AndroidManifest.xml警告 Not targeting the latest versions of Android
- android的Broadcast receiver
- 调用系统相机导致照片旋转问题的修复
- Android studio 启动另一个activity
- ContentObserver 介绍
- 【Android基础篇】TabWidget设置背景和字体
- Android版本和API Level对应关系
- Android对SQLite批量添加数据
- android使用startActivityForResult多级回传参数