私には2つの活動があります。アクティビティ 1 とアクティビティ 2。アクティビティ 1 からアクティビティ 2 を呼び出すと、アニメーションが表示されます。
私が与えた種類のアニメーションは、アクティビティ 1 が右側に移動し、アクティビティ 2 が左側から右側に移動し、アクティビティ 1 の位置を取る (->アクティビティ 2->アクティビティ 1->) というものです。私はそれをうまくやることができます。アクティビティ 2 を呼び出すとすぐに、アクティビティ 1 を終了します。
今、アクティビティ 2 からアクティビティ 1 を呼び出そうとしています。アクティビティ 2 を左側に移動し、アクティビティ 1 を右側から左側に移動して、アクティビティ 2 の位置を取る必要があります (<-アクティビティ 2<-アクティビティ 1<- )。アクティビティ 1 を呼び出すと、アクティビティ 2 が終了します。問題は、これを実行しようとすると、アクティビティ 1 が 2 回表示されることです。
問題はこのようなもので、アクティビティ 2 からアクティビティ 1 を呼び出すボタンを押すとすぐに、アクティビティ 1 がアニメーションなしで突然表示されます。その後、アクティビティ 1 がスライドして離れ、アクティビティ 1 が再び表示されます。
アクティビティ 1 からアクティビティ 2 に移動するために使用する xml コードを次に示します。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate android:fromXDelta="-100%" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="700"/>
</set>
アクティビティ 2 からアクティビティ 1 に移動するために使用する xml コードを次に示します。
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate android:fromXDelta="0%" android:toXDelta="-100%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="700"/>
</set>
アクティビティ 1 からアクティビティ 2 に移動するためのコードは次のとおりです。
Intent intent=new Intent();
intent.setClassName(Generator.this,"com.xyz.activity2");
startActivity(intent);
finish();
overridePendingTransition(R.anim.left_to_right, R.anim.left_to_right);
アクティビティ 2 からアクティビティ 1 に移動するためのコードは次のとおりです。
Intent intent=new Intent();
intent.setClassName(MainMenu.this,"com.xyz.activity1");
startActivity(intent);
finish();
overridePendingTransition (R.anim.right_to_left, R.anim.right_to_left);