0

我在安卓上做游戏。我需要暂停游戏,显示暂停菜单(无论如何通过新活动或对话框),然后继续游戏。这就是我暂停和恢复我的线程的方式:

public void pause() {
            isRunning = false;
            while (true) {
                try {
                    ourThread.join();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                break;
            }
            ourThread = null;
        }

public void resume() {
            isRunning = true;
            ourThread = new Thread(this);
            ourThread.start();
        }

当我进入主屏幕时,这一切都很好,但我对如何显示菜单和操作它感到困惑。

4

2 回答 2

1

您是否考虑过使用弹出菜单?您可以在 pause() 上执行 showPopup() 的操作。然后,您可以单击屏幕上的任意位置以关闭弹出窗口,或者您可以在 onMenuItemClick 中设置简历

那有意义吗?

public void showPopup() {
    // Anchor popoup with layout to "center" menu
    RelativeLayout layout = (RelativeLayout) findViewById(R.id.menuLayout);
    PopupMenu popup = new PopupMenu(this, layout);
    popup.setOnMenuItemClickListener(this);
    popup.getMenuInflater().inflate(R.layout.menu, popup.getMenu());
    popup.show();
}

@Override
public void onMenuItemClick(MenuItem item) {
    dosomething();
            resume();

}
于 2013-01-23T11:23:30.980 回答
0

单击设备上的菜单按钮时调用 pause()。

于 2013-01-23T11:25:12.447 回答