View动画
建议采用XML来定义动画
文件路径(res/anim/filename.xml)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000" //持续时间
android:fillAfter="true||false" //动画结束后是否停留在结束位置
>
<translate
.../>
</set>
包括四种动画
-
平移动画<translate>
- 百分比平移
- android:toXDelta="100.0%p"//移动的X轴距离为屏幕的宽度
- 百分比平移
-
缩放动画<scale>
- android:pivotX //缩放的轴心
-
旋转动画<rotate>
- android:fromDegress="0"//开始的角度
-
透明度动画<alpha>
- android:fromAlpha="0" //起始透明度
使用
Animation animation = AnimationUtils.loadAnimation(this, R.anim.learn_animation_view);
mText.setAnimation(animation);
mText.startAnimation(animation);
特殊场景下的使用
ViewGroup,子元素出场的时候都会具有该动画
<?xml version="1.0" encoding="utf-8"?> <layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:animation="@anim/learn_animation_view"//元素动画 android:animationOrder="normal"// 出现顺序 android:delay="0.5"//出现时间间隔 > </layoutAnimation>
-
Activity转场动画
在startActivity(Intent) 与 finish() 之后调用 overridePendingTransition()
overridePendingTransition(int enterAnim, int exitAnim)