对话框 FLAG_DIM_BEHIND 不适用于 Android 5.x (Lollipop)
Dialog FLAG_DIM_BEHIND doesn't work on Android 5.x (Lollipop)
我使用以下代码使 DialogFragment 的背景变暗:
Window window = getDialog().getWindow();
WindowManager.LayoutParams windowParams = window.getAttributes();
windowParams.dimAmount = 0.75f;
windowParams.flags |= WindowManager.LayoutParams.FLAG_DIM_BEHIND;
window.setAttributes(windowParams);
这在 Kitkat 及以下版本上运行良好,但在 Lollipop 上停止运行。我怀疑这与我的 Activity 使用 Theme.AppCompat.Light.DarkActionBar 样式有关,它在 5.x 上使用 Material 主题,并且该主题中的某些内容阻止了 DIM标志从工作。
我尝试弄乱各种主题标志,但到目前为止无济于事。
一些 ActionBarActivities 已在较新的 OS 和 android 上折旧。我刚刚创建了一个 android 5.0 并遇到了类似的问题,我认为较新的 5.1 所以我找到了一个解决方案(如果这对您不起作用,请尝试 [=12= 的早期版本]), 如果你在 android studio 左边左键点击 project 然后右键点击 app.应弹出一个菜单,然后单击模块设置...在那里应该有一个向下滚动的构建工具,如果当前设置为新的测试版,则将其设置为 21.1.10,将 Compile sdk 版本设置为 5.0,然后为我工作..如果构建工具版本没有一点混乱就试试吧(新版本有点像 23.0.0 rc1)
显然这是由我安装的控制屏幕亮度的 Lux Dash 应用引起的。哎呀。花了我一段时间才弄明白!
我卸载了它,调光又回来了。 [不是错误]
我使用以下代码使 DialogFragment 的背景变暗:
Window window = getDialog().getWindow();
WindowManager.LayoutParams windowParams = window.getAttributes();
windowParams.dimAmount = 0.75f;
windowParams.flags |= WindowManager.LayoutParams.FLAG_DIM_BEHIND;
window.setAttributes(windowParams);
这在 Kitkat 及以下版本上运行良好,但在 Lollipop 上停止运行。我怀疑这与我的 Activity 使用 Theme.AppCompat.Light.DarkActionBar 样式有关,它在 5.x 上使用 Material 主题,并且该主题中的某些内容阻止了 DIM标志从工作。 我尝试弄乱各种主题标志,但到目前为止无济于事。
一些 ActionBarActivities 已在较新的 OS 和 android 上折旧。我刚刚创建了一个 android 5.0 并遇到了类似的问题,我认为较新的 5.1 所以我找到了一个解决方案(如果这对您不起作用,请尝试 [=12= 的早期版本]), 如果你在 android studio 左边左键点击 project 然后右键点击 app.应弹出一个菜单,然后单击模块设置...在那里应该有一个向下滚动的构建工具,如果当前设置为新的测试版,则将其设置为 21.1.10,将 Compile sdk 版本设置为 5.0,然后为我工作..如果构建工具版本没有一点混乱就试试吧(新版本有点像 23.0.0 rc1)
显然这是由我安装的控制屏幕亮度的 Lux Dash 应用引起的。哎呀。花了我一段时间才弄明白! 我卸载了它,调光又回来了。 [不是错误]