我想知道是否有任何原生支持andengine或ADK提问问题?例如,如果我按下后退按钮,我想要弹出一个框,询问我是否真的要退出应用程序并给我选择回答是或否。
答案 0 :(得分: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;
}
}
}
答案 1 :(得分: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(...));
如果我正在开发游戏,我更喜欢这种方式。