当我使用
getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
在我Activity
的当前屏幕下,我没有得到轻微模糊的屏幕,Activity
但完全是黑色的(顶部Activity
很好)。需要说它在SDK附带的样本中也是黑色的。有人可以建议如何使它模糊吗?
当我使用
getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
在我Activity
的当前屏幕下,我没有得到轻微模糊的屏幕,Activity
但完全是黑色的(顶部Activity
很好)。需要说它在SDK附带的样本中也是黑色的。有人可以建议如何使它模糊吗?
在您的 AndroidManifest.xml 中,将此行添加到您的 Activity 声明中:android:theme="@android:style/Theme.Translucent.NoTitleBar"
否则该 Activity 将具有纯色背景(因此模糊无效)。
此外, StackOverflow上的这篇文章很有帮助,尤其是警示性说明。在较旧的设备上,这会导致您的应用程序变得无响应(这是一种 CPU 密集型软件渲染),而在较新的设备上,此常量已被弃用并且不再有任何影响(请参阅WindowManager.LayoutParams的 Android 文档)。
在最新版本的操作系统上已弃用(查看文档)。
注意:标志 FLAG_BLUR_BEHIND 已贬值。
您可以使用 FLAG_DIM_BEHIND 代替。