在 Android 中禁用 ProgressDialog/AlertDialog 的背景暗淡

Posted

技术标签:

【中文标题】在 Android 中禁用 ProgressDialog/AlertDialog 的背景暗淡【英文标题】:Disable background dim on ProgressDialog/AlertDialog in Android 【发布时间】:2012-10-07 23:34:50 【问题描述】:

我使用了一个带有 ProgressDialog 的 AsyncTask。 这会自动导致大约 40% 的背景暗淡。我想关掉这个昏暗(0% 昏暗),但我试过了,没有用:

myLoadingDialog = new ProgressDialog(MainActivity.this.getApplicationContext());
myLoadingDialog.setMessage("Loading...");
myLoadingDialog.setIndeterminate(true);
myLoadingDialog.setCancelable(false);
WindowManager.LayoutParams lp = myLoadingDialog.getWindow().getAttributes();
lp.dimAmount = 0.0f; 
myLoadingDialog.show();

那个暗淡的问题是,我不得不终止我的平板电脑的 SystemUI-Process 以实现 Kiosk 模式(没有 System-Bar),并且 ProgressDialog 使除了 System-Bar 所在区域之外的所有内容都变暗,所以我有屏幕底部的明亮边框。

如果有办法获得完整的全屏变暗,我也会很高兴。

感谢您的帮助

【问题讨论】:

【参考方案1】:

使用

myLoadingDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHI‌​ND);

【讨论】:

【参考方案2】:

您还可以使用以下方法更改相对的调光量:

window?.setDimAmount(0.2f)

这是在对话类的 onCreate 中设置的。

【讨论】:

【参考方案3】:

你也可以添加这个主题来解决这个问题

<item name="android:backgroundDimEnabled">false</item>

【讨论】:

以上是关于在 Android 中禁用 ProgressDialog/AlertDialog 的背景暗淡的主要内容,如果未能解决你的问题,请参考以下文章

Android:在 GridView 中禁用突出显示

在 Android 4 中启用 android:largeHeap,在 Android 2.3 中禁用它

在 Android 中禁用导航抽屉中的项目

如何在 Android 片段中禁用屏幕截图?

在当前的android片段中禁用屏幕截图[重复]

如何在 Android 中禁用 EditText