在设备中按菜单时对话框显示

时间:2013-07-22 11:01:12

标签: android dialog

当我按下菜单显示我的方法时,它可能吗?

我只想按此对话框显示并在我按设备中的菜单时关闭 dialog

此方法菜单播放

private void menuplay(){
       final Dialog dialog = new Dialog(this,R.style.Theme_Dialog_costum01);
       dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
       dialog.setContentView(R.layout.dialog_play);
       dialog.findViewById(R.id.button_play).setOnTouchListener(
               new OnTouchListener() {
                   public boolean onTouch(View v, MotionEvent event) {
                       dialog.dismiss();
                       //do method
                       return true;
                   }
               });
       dialog.findViewById(R.id.button_highscore).setOnTouchListener(
               new OnTouchListener() {
                   public boolean onTouch(View v, MotionEvent event) {
                       dialog.dismiss();
                       highscoreview();
                       return true;
                   }
               });
       dialog.findViewById(R.id.button_hint).setOnTouchListener(
               new OnTouchListener() {
                   public boolean onTouch(View v, MotionEvent event) {
                       dialog.dismiss();
                       hint();
                       return true;
                   }
               });
       dialog.findViewById(R.id.button_about).setOnTouchListener(
               new OnTouchListener() {
                   public boolean onTouch(View v, MotionEvent event) {
                       dialog.dismiss();
                       aboutview();
                       return true;
                   }
               });
       dialog.show();
   }

我尝试这个而不是工作

 @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      menuplay();
      return true;
   }

2 个答案:

答案 0 :(得分:0)

@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getSupportMenuInflater().inflate(R.menu.menu_main, menu);
    menuplay();
    return super.onCreateOptionsMenu(menu);
}

答案 1 :(得分:0)

将此用于Menu Button

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_MENU && event.getAction() == 0 ) 
{
   menuplay();
   return true;

 }