如果不想用系统提供的默认的Activity进出动画,为Activity单独设置一个动画即可.具体:
第一步, 在项目的 res/anim/ 文件夹下,创建两个动画xml文件,一个是从底部进入,一个是从底部淡出.
进入动画 slide_bottom_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="
android:fillAfter="true"
>
<translate
android:duration="300"
android:fromYDelta="100%p"
android:toYDelta="0" />
</set>
淡出动画 silde_bottom_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="
android:fillAfter="true"
>
<translate
android:duration="300"
android:fromYDelta="0"
android:toYDelta="100%p" />
</set>
第二步, 复写你所想要更改动画的 Activity 中的 startActivity(), startActivityForResult(), finish() 三个方法,在其中将系统默认动画覆盖掉:
@Override
public void startActivity(Intent intent) {
super.startActivity(intent);
overridePendingTransition(R.anim.slide_left_in, R.anim.slide_left_out);
}
@Override
public void startActivityForResult(Intent intent, int requestCode) {
super.startActivityForResult(intent, requestCode);
overridePendingTransition(R.anim.slide_left_in, R.anim.slide_left_out);
}
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.slide_right_in, R.anim.slide_right_out);
}
编译运行之,你就会发现此Activity的进入淡出动画已经改为我们自定义的动画了.