第一步:创建
res目录下创建anim文件夹(如果没有的话)
anim文件夹下创建三个文件:
- bottom_in.xml(A页面底部弹入动画)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromYDelta="100%p"
android:toYDelta="0" />
</set>
- bottom_out.xml(B页面关闭弹出动画)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromYDelta="0"
android:toYDelta="100%p" />
</set>
- bottom_silent.xml (静止动画)
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0"
android:toYDelta="0"
android:duration="300"
/>
<!-- (注意这里的时间要比上面两个的长,否则会出现黑色背景)-->
</set>
第二步:设置
- 第一个 Activity 通过 Intent 意图打开第二个新 Activity 的弹出动画设置:
在startActivity
后添加overridePendingTransition(R.anim.bottom_in,R.anim.bottom_silent)
方法
Intent intent = new Intent(this, BActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
overridePendingTransition(R.anim.bottom_in,R.anim.bottom_silent);
- 新 Activity 被关闭返回第一个 Activity 的退出动画设置:
重写finish()
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.bottom_silent,R.anim.bottom_out);
}
网友评论