动画onresume活动

时间:2015-03-17 20:40:26

标签: android

两个活动之间有一个滑动动画。在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>

问题是:当我返回活动时,它会显示相同的动画(从右到左)。我想反转它。我在这里做错了什么?

1 个答案:

答案 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

希望这有帮助!