两个活动之间有一个滑动动画。在onCreate
方法中,我使用的是:
overridePendingTransition(R.anim.slide_in, R.anim.slide_out);
onResume
方法:
@Override
protected void onResume() {
this.overridePendingTransition(R.anim.slide_out, R.anim.slide_in);
super.onResume();
}
slide_in.xml
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromXDelta="100%p"
android:toXDelta="0%p">
slide_out.xml
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromXDelta="0%p"
android:toXDelta="-100%p">
</translate>
问题是:当我返回活动时,它会显示相同的动画(从右到左)。我想反转它。我在这里做错了什么?
答案 0 :(得分:1)
再添加两个动画文件
slide_in_back:
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromXDelta="-100%p"
android:toXDelta="0%p" >
</translate>
slide_out_back:
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_longAnimTime"
android:fromXDelta="0%p"
android:toXDelta="100%p">
</translate>
开始活动时打电话:
overridePendingTransition(R.anim.slide_in, R.anim.slide_out);
调用onBackPressed()方法或在任何活动中调用finish()之后:
overridePendingTransition(R.anim.slide_in_back, R.anim.slide_out_back);
这里还有一个教程:Link
希望这有帮助!