类型
- 平移动画 translate
- 缩放动画 scale
- 旋转动画 rotate
- 透明度动画 alpha
共同属性说明
- 动画时长
android:duration="1000"
- 重复次数
android:repeatCount="4"
- 重复类型
android:repeatMode="reverse"
- 插值器
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
5.共享插值器
android:shareInterpolator="true"
6.动画结束后位置
android:fillAfter="true"
1. 平移动画 translate
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1500"
android:fillAfter="true">
<translate
android:fromXDelta="0"
android:toXDelta="300"
android:fromYDelta="0"
android:toYDelta="300"/>
</set>
上面translate里面的属性是x轴和y轴开始位置和结束位置
2. 缩放动画 scale
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1500"
android:fillAfter="true">
<scale
android:fromXScale="1"
android:toXScale="1.5"
android:fromYScale="1"
android:toYScale="1.5"
android:pivotX="50%"
android:pivotY="50%"/>
</set>
上面scale里面的前四个属性是x轴和y轴开始倍数和结束倍数,后两个属性是缩放的开始位置(在原来View的中心)
3. 旋转动画 rotate
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1500"
android:fillAfter="true">
<rotate
android:fromDegrees="0"
android:toDegrees="90"
android:pivotX="50%"
android:pivotY="50%"/>
</set>
上面rotate里面的前两个属性旋转的开始度数和结束度数每360°是一周;后两个属性是旋转的原点(在原来View的中心)
4. 透明度动画 alpha
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1500"
android:fillAfter="true">
<alpha
android:fromAlpha="0.5"
android:toAlpha="1"/>
</set>
上面alpha里面的属性是透明度开始和结束的系数(最小为0,最大为1)
使用代码
Animation mAnimationTranslate = AnimationUtils.loadAnimation(mContext,R.anim.view_translate);
mView.startAnimation(mAnimationTranslate);