6

我的应用程序有问题。我像这样使用全屏选项:

public void setFullscreen() {
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

但是,在游戏后期,当我显示帮助/信息的 AlertDialog 时,状态栏会返回几分之一秒,然后再次消失,从而产生闪烁或跳跃的效果。此外,对话框本身并没有像它应该的那样居中,就好像它认为有一个状态栏一样。

这是我显示对话框的方式:

protected Dialog onCreateDialog(int id) {
TextView tv;

switch (id) {
case MENU_HELP:
       tv = new TextView(this);
                   tv.setText(R.strings.help_msg);

       return new AlertDialog.Builder(BlackJackView.this)
       .setIcon(android.R.drawable.ic_menu_help)
       .setTitle("How-To")
       .setView(tv)
       .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int whichButton) {
                          /* User clicked OK so do some stuff */
                   }
       })
       .create();
  }

  ………

  }
  return null;
}

有谁知道可能导致这种出现/消失的原因?如何让它停止这种跳跃行为?

感谢你的帮助。

4

1 回答 1

10

只需将对话框的窗口也设置为全屏

Dialog mPreviewDialog = new Dialog(this);

Window dialog_window = mPreviewDialog.getWindow();
dialog_window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);  
mPreviewDialog.show()

它修复了状态栏的闪烁。

于 2010-05-16T17:09:43.387 回答