私のゲームでは、ユーザーが戻るボタンを押すと、一時停止メニューが (フラグメントとして) 表示されるはずです。ユーザーが戻るボタンをもう一度押すと、一時停止メニューが閉じます。これらはすべてアニメーションで行う必要があります。
@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 回だけ)、まったくフェードアウトしません。少し手を貸してください、ありがとう。