11

私は Android を使い始めたばかりで、このガイドに従って、アクション バーのアクティビティにアップ ナビゲーションを追加しました。

http://developer.android.com/training/implementing-navigation/ancestral.html

ただし、アクション バーの [上へ] ボタンを使用したときのトランジションは、新しいアクティビティを開く際のフェードイン トランジションとして表示されます。下。

正しいトランジションを表示するにはどうすればよいですか? ありがとう。

4

7 に答える 7

17

親アクティビティの Manifest.xml 内で宣言android:launchMode="singleTop"します。

次のような呼び出しを行うと、トランジションはデフォルトのフェードアウトに変わります。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    // Respond to the action bar's Up/Home button
    case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
}

(から: http://developer.android.com/training/implementing-navigation/ancestral.html#NavigateUp )

于 2013-11-18T10:52:09.770 に答える
11

次のように、navigateUpTo() メソッドを使用して、フラグ no animation をインテントに設定する必要があります。

final Intent intent = NavUtils.getParentActivityIntent(this);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
NavUtils.navigateUpTo(this, intent);

「素敵な」戻るアニメーションと、上ボタンの正しい使い方が得られます。this現在の活動です。

于 2013-12-12T14:02:57.190 に答える
1

@Ciprianのソリューションは私にとってはうまくいきます。

また、navigateUpFromSameTask()次の呼び出しと同等の便利なメソッドです。

final Intent intent = NavUtils.getParentActivityIntent(this);
NavUtils.navigateUpTo(this, intent);

フラグを追加するIntent.FLAG_ACTIVITY_NO_ANIMATIONと、デフォルトのアクティビティ フェードアウト トランザクションが有効になります。

于 2014-02-28T14:16:32.203 に答える
0

私はそれをfinish();に変更しました。これは私が望むことをしているようです。

于 2013-07-29T15:25:56.763 に答える
-1

メソッド overridePendingTransition() を使用できます。

startActivity(Intent) または finish() のフレーバーのいずれかの直後に呼び出して、次に実行する明示的な遷移アニメーションを指定します。

http://developer.android.com/reference/android/app/Activity.html#overridePendingTransition(int , int)

于 2013-10-25T12:58:51.860 に答える