2

私のゲームでは、ユーザーが戻るボタンを押すと、一時停止メニューが (フラグメントとして) 表示されるはずです。ユーザーが戻るボタンをもう一度押すと、一時停止メニューが閉じます。これらはすべてアニメーションで行う必要があります。

@Override
public void onBackPressed()
{
    if (!paused)
    {
        // pause game here

        if (mPauseFragment == null)
        {
            mPauseFragment = new PauseFragment();

            FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
            ft.setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out);
            ft.replace(R.id.pause_container, mPauseFragment, "pauseFragment");
            // Start the animated transition.
            ft.commit();
        }
        else
        {
            getSupportFragmentManager().beginTransaction().show(mPauseFragment).commit();
        }           
    }
    else
    {
        // resume game here
        getSupportFragmentManager().beginTransaction().hide(mPauseFragment).commit();
    }

    paused = !paused;
}

うまくフェードインしますが (ただし 1 回だけ)、まったくフェードアウトしません。少し手を貸してください、ありがとう。

4

1 に答える 1

1

ft.setCustomAnimationsその特定のフラグメント トランザクションにのみ適用されます。すべての show hide トランザクションにアニメーションを設定します。

于 2012-11-17T07:23:50.350 に答える