当Android AlertDialog
弹出时,该对话框周围的背景会变暗。这可能是通过先用半透明颜色填充整个屏幕,然后在其上方放置对话框来实现的。
我的问题是:那个背景填充的默认颜色是什么?
#88666666 //looks close, but not enough
当Android AlertDialog
弹出时,该对话框周围的背景会变暗。这可能是通过先用半透明颜色填充整个屏幕,然后在其上方放置对话框来实现的。
我的问题是:那个背景填充的默认颜色是什么?
#88666666 //looks close, but not enough
针对未来的读者:
问题作者所称的对话框背景填充,在 Material Design 规范中被称为Scrim。
因此,根据Material Design规范,Scrim 的颜色为:
颜色:#000000
不透明度:32%
<color name="background">#52000000</color>
如果你检查 AppCompat 的对话框,我认为它使用的是:
<color name="dim_foreground_disabled_material_dark">#80bebebe</color>
<color name="dim_foreground_disabled_material_light">#80323232</color>
然而在我的测试中,我认为它是#99000000
(不透明度为62%的黑色)。
试一下!它非常好用!
在onCreate()中
final int baseAlpha = (0x99000000) >>> 24;
layout.setBackgroundColor(baseAlpha);
在清单文件中
<activity
android:name=".ui.web.WebPopupActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.TransparentWebPopup" />
in style.xml
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowEnableSplitTouch">false</item>
<item name="android:splitMotionEvents">false</item>
</style>
<style name="AppTheme.TransparentWebPopup" parent="AppTheme.NoActionBar">
<item name="android:windowBackground">@color/color_trans</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
</style>
在 color.xml 中
<color name="color_trans">#99000000</color>
尝试使用这个颜色代码 #80000000@activity