在 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_BEHIND);
【讨论】:
【参考方案2】:您还可以使用以下方法更改相对的调光量:
window?.setDimAmount(0.2f)
这是在对话类的 onCreate 中设置的。
【讨论】:
【参考方案3】:你也可以添加这个主题来解决这个问题
<item name="android:backgroundDimEnabled">false</item>
【讨论】:
以上是关于在 Android 中禁用 ProgressDialog/AlertDialog 的背景暗淡的主要内容,如果未能解决你的问题,请参考以下文章