如何从下到上设置第二个 Activity 的动画?

How to animate second Activity from bottom to top?

我在第一个 activity 上有一个点击按钮,当我们点击该按钮时,我想为第二个 activity 设置动画,但在我的情况下,我的第一个 activity 也为第二个设置动画 这是代码

 Intent createCompaignActivityIntent = new Intent(mActivity, CreateCompaignActivity.class);
 mActivity.startActivity(createCompaignActivityIntent);
 mActivity.overridePendingTransition( R.anim.slide_in_up, R.anim.slide_out_up );

slide_in_up.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromYDelta="100%p" android:toYDelta="0%p"
    android:duration="@android:integer/config_longAnimTime"/>

slide_out_up.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromYDelta="0%p" android:toYDelta="-100%p"
    android:duration="@android:integer/config_longAnimTime"/>

如果您不想为第一个 Activity 设置动画,请将 slide_out_up.xml

中的 android:toYDelta="-100%p" 更改为 android:toYDelta="0%p"
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromYDelta="0%p" android:toYDelta="0%p"
    android:duration="@android:integer/config_longAnimTime"/>

编辑:

要实现第二个退出时向下滑动activity,创建一个动画文件并复制下面的代码

slide_out_down.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromYDelta="0%p" android:toYDelta="100%p"
    android:duration="@android:integer/config_longAnimTime"/>

并在第二个 activity 的 onBackPressed() 中添加以下代码。

@Override
public void onBackPressed() {
    super.onBackPressed();
    overridePendingTransition(R.anim.slide_out_up, R.anim.slide_out_down);
}