0

コードを使用して、Android で「ホームに戻る」タイプのボタンを作成しました。

Intent i=new Intent(this, Home.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

ただし、Android がホーム アクティビティに移行すると、アクティビティが右から左にスライドし、ユーザーに新しいアクティビティが開始されたような印象を与えます。ユーザーは、「戻る」を押すと前のアクティビティが表示されることを期待しますが、明らかにそうではありません。

トランジションが実際に前のアクティビティを閉じているように見えるように、アンドロイドに後方に (つまり、左から右に) スライドするように指示するにはどうすればよいですか?

4

2 に答える 2

1

overridePendingTransition()afterを呼び出すことで、アニメーションをオーバーライドできますstartActivity()

グーグルのこの例を見てください。

アニメーション リソースの作成方法もご覧ください。

于 2011-06-03T22:00:56.450 に答える
1

いくつかの詳細(この質問に対する私の回答からコピー):

具体的には、標準の「戻るボタン」遷移を取得するために、これらをenterAnimおよびのexitAnim値として使用しoverridePendingTransition(int enterAnim, int exitAnim)ます。

push_right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="@android:integer/config_shortAnimTime"/>
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@android:integer/config_shortAnimTime" />
</set>

push_right_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="@android:integer/config_shortAnimTime"/>
    <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="@android:integer/config_shortAnimTime" />
</set>
于 2011-06-27T17:52:12.233 に答える