android - 当我在父级全屏 Activity 上显示警告对话框时,我不想显示 SystemUI

标签 android notification-bar

我有一个全屏 Activity ,但是当我在其上方显示一个警告对话框时,系统 UI 显示(系统通知栏)。有谁能够帮助我 ?我不希望它可见。有什么方法可以隐藏系统通知栏,使其在出现警报对话框时不显示?

enter image description here

enter image description here

最佳答案

使用 AlertDialog.Builder 构建 AlertDialog 并创建 AlertDialog。
在调用 show() 之前,将对话框的窗口标志设置为不可聚焦。
显示对话框后,在表示 AlertDialog 的窗口的 decorView 上设置 SystemUiVisibility 标志,并清除不可聚焦标志。

    AlertDialog.Builder adBuilder = new AlertDialog.Builder(this);
    AlertDialog alertDialog = adBuilder.setCancelable(false).
            setMessage("Turn ended, Click OK").
            setPositiveButton("OK", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                }
            }).create();
    alertDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
    alertDialog.show();
    alertDialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
            | View.SYSTEM_UI_FLAG_FULLSCREEN
            | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
    alertDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);

现在,当显示 AlertDialog 时,SystemUI 元素不会出现。希望这会有所帮助。

关于android - 当我在父级全屏 Activity 上显示警告对话框时,我不想显示 SystemUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42060698/

相关文章:

java - java 中的滑动通知栏(a la Firefox)

VBA Internet 自动化代码在 ie.Visible = False 时不起作用

Android - 在通知栏保持通知稳定

javascript - 使用 PhoneGap 下载文件并在 AngularJS 中使用

一段时间后,android声音被禁用

Android GCM 通知从 PubNub、Parse、Amazon SNS 失败

android - 测试 Activity 是否返回预期结果

c# - 调用 WCF 引用类型变量