对话框FLAG_DIM_BEHIND在Android 5.x(Lollipop)上不起作用

时间:2015-06-12 19:12:10

标签: android android-5.0-lollipop android-dialogfragment

我使用以下代码调暗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 Theme,而该主题中的某些内容阻止了DIM标志的工作。 我试着弄乱各种主题旗帜,但到目前为止无济于事。

2 个答案:

答案 0 :(得分:4)

显然这是由我安装的Lux Dash应用程序引起的,它控制着屏幕的亮度。 Geesh。我花了一段时间来弄清楚这一点! 我卸下了它,调光又回来了。 [不是错误]

答案 1 :(得分:0)

一些ActionBarActivities已经在Android的新操作系统上贬值了。我只是创建了一个与Android 5.0有类似的问题,我认为更新的5. 1所以我找到了一个解决方案(如果这对你不起作用只是尝试早期版本的android),如果你在android工作室在左侧单击项目,然后右键单击应用程序。弹出一个菜单,然后点击Module Settings ...在那里应该有一个向下滚动的构建工具,如果当前的一个设置为新的beta版本,则将其设置为21.1.10,将compile sdk版本设置为5.0,并且为我工作..尝试一下,如果不是一点点构建工具版本(新版本有点像23.0.0 rc1)