Android动画学习(七)之转场动画
概述
Android 中的转场动画用于处理视图怎么进入和退出屏幕。
Android5.0之前的转场动画
概述:
在Android 5.0以前实现转场动画是通过补间动画来实现。通常的Activity跳转是从界面下方进入的,传统的转场动画可设置从左边或右边进入。Activity中调用overridePendingTransition(int enterAnim, int exitAnim)方法,来设置界面切换。enterAnim和exitAnim两个参数对应的是两个View动画。
使用:
从右边进入左边退出:
主转场java代码:
public void oldSpecial(View v) {
startActivity(new Intent(this, SpecialActivity.class));
overridePendingTransition(R.anim.slide_right_in, R.anim.slide_left_out);
}
slide_right_in.xml(enterAnim)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="100%"
android:toXDelta="0%"
android:duration="500" />
</set>
slide_left_out.xml(exitAnim)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0%"
android:toXDelta="-40%"
android:duration="500" />
</set>
测试转场Java代码:
public void backToActivity(View view) {
this.finish();
overridePendingTransition(R.anim.slide_left_in, R.anim.slide_right_out);
}
slide_left_in.xml(enterAnim)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="-100%"
android:toXDelta="0%"
android:duration="500" />
</set>
slide_right_out.xml(exitAnim)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0%"
android:toXDelta="100%"
android:duration="500" />
</set>
只要修改上述进入的overridePendingTransition中进入与退出方向,可以实现左边进入左边退出、右边进入右边退出、从左边进入右边退出等效果
测试效果: