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

它淡入很好(但只有一次),但它根本不会淡出。请给我一点帮助,谢谢。

4

1 回答 1

1

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

于 2012-11-17T07:23:50.350 回答