Honeycomb - 在AlertDialog期间隐藏的状态栏

时间:2012-02-04 08:02:03

标签: android visibility alertdialog statusbar

在显示AlertDialog时,Honeycomb(3.2)中的状态栏可见性出现问题。在我的HomeActivity中,我通过以下代码将状态栏可见性设置为隐藏:

View v = findViewById(R.id.toplevelview);
v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);

到目前为止,这很有效,应该在我的整个应用程序中保持这种状态。但是当我通过AlertDialogBu​​ilder创建一个新的AlertDialog并显示它时,状态栏可见性不再被隐藏。我是否必须再次明确设置状态栏可见性?我尝试了一些事情,但没有任何主题可以运作。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

是的,我认为每个活动和对话都需要设置它。

这有效,有点:

protected void onPrepareDialog (int id, Dialog dialog) {
    View main_layout = dialog.findViewById(android.R.id.content).getRootView();
    main_layout.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
}

问题是,至少在我正在开发的Honeycomb ROM(闪回10.3)中,当对话框显示时,你仍然可以看到状态栏的短暂闪烁,或者看起来如此。我是个菜鸟,所以我的对话可能不对。

实际上,我知道我正在做对话框错误,因为“onPrepareDialog”已被弃用(linky)。我接下来会找出片段和片段管理器。

唯一的另一个时间我仍然无法隐藏状态栏是当弹出窗口的选项弹出时。似乎这应该是一个应用程序级别设置...