Android:状态栏的跳跃效果

时间:2010-02-04 16:35:08

标签: java android statusbar

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

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;
}

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:9)

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

Dialog mPreviewDialog = new Dialog(this);

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

它修复了状态栏的闪烁。