2

我想知道是否有任何对 andengine 或 ADK 的原生支持来问问题敬酒?例如,如果我按下后退按钮,我希望弹出一个框,询问我是否真的要退出应用程序并让我选择回答是或否。

4

2 回答 2

4

最好使用警报对话框使用此代码,希望像那样工作

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub

    switch(keyCode)
    {
    case KeyEvent.KEYCODE_BACK:
        AlertDialog.Builder ab = new AlertDialog.Builder(AlertDialogExampleActivity.this);
        ab.setMessage("Are you sure?").setPositiveButton("Yes", dialogClickListener)
        .setNegativeButton("No", dialogClickListener).show();
        break;
    }

    return super.onKeyDown(keyCode, event);
}

DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        switch (which){
        case DialogInterface.BUTTON_POSITIVE:
            //Yes button clicked
            break;

        case DialogInterface.BUTTON_NEGATIVE:
            //No button clicked
            break;
        }
    }
}
于 2013-06-01T11:39:10.817 回答
2

您发现您的解决方案很好,但对于上述答案,您必须使用 AndEngine 功能。如果您正在使用 AndEngine,那么您必须使用 AndEngine 功能开发所有东西。

因此,对于您的解决方案,您必须创建一个子场景,当用户按下设备后退按钮时弹出一个子场景,如下面的代码片段所示。

class DialogBox extends Scene{
    DialogBox(...){
    }
    // you have to include all the functionality that your dialog box should contain
}

您必须在用户的后退事件中按照以下方式将上述对话框设置为主场景的子项。

mScene.setAsChildScene(new DialogBox(...));

如果我正在开发游戏,我更喜欢这种方式。

于 2013-06-01T13:28:53.477 回答