在我的游戏中,当用户按下“后退”按钮时,它应调出暂停菜单(作为片段)。当用户再次按下后退按钮时,它应关闭暂停菜单。所有这些都应通过动画来完成。

@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;
}


它会淡入淡出(但只有一次),但一点也不会淡出。谢谢,请帮我一下。

最佳答案

ft.setCustomAnimations仅应用于该特定片段事务。将动画设置为每个显示隐藏交易。

07-26 07:46