Activity的转场动画
Activity的转场动画是通过overridePendingTransition(int enterAnim, int exitAnim)实现的。
这个方法是API Level 5 加入的。
这个方法在startActivity(Intent) or finish()之后被调用,指定接下来的这个转场动画。
方法的第一个参数:enterAnim,是新的Activity的进入动画的resource ID;
第二个参数exitAnim,是旧的Activity(当前的Activity)离开动画的resource ID。
所以这两个参数的对象是两个Activity。
如果上面两个参数没有动画要设置,则用0作为参数。
动画的资源文件放在res\anim\目录下,是View Animation。
View Animation包含了基本的动画类型,基本可以满足一般转场动画的需要。
根节点可以是:alpha, scale, translate, rotate, interpolator element, 或者是set。
利用set可以进行各种嵌套组合。
使用示例
Intent intent = new Intent(TestActivities.this,TestActivityFirst.class);
startActivity(intent);
// 专场动画, 参数一:进场动画,参数二:出场动画
overridePendingTransition(R.anim.slide_in_bottom,R.anim.slide_out_bottom);
动画示例
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="100%p" android:toYDelta="0"
android:duration="2000"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="2000" />
</set>
<!-- 来回两个动画 -->
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="0%p" android:toYDelta="100%p"
android:duration="2000"/>
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="2000" />
</set>
Fragment的转场动画
参照转载