我明白如何设置对话框暗淡的量。但是,我更喜欢颜色是半透明的白色而不是半透明的黑色(或者是深灰色?)。有任何想法吗?设置对话框的“暗淡”颜色
回答
首先,您需要创建白色9-补丁drawable。类似panel_background.9.png
绘制(这是黑色的),可以在路径中找到:
<android-sdk-dir>/platforms/android-#/data/res/drawable-hdpi/panel_background.9.png
让我们假设你的绘制将被称为white_panel_background.9.png
。
选项1.
您可以创建扩展Theme.Dialog
和覆盖windowBackground
属性自定义白9补丁绘制自定义主题。
<style name="Theme.WhiteDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@drawable/white_panel_background</item>
</style>
然后用这个主题,在对话框中:
Dialog dialog = Dialog(context, R.style.Theme_WhiteDialog);
选项2
如果您已经创建对话框(默认主题),你仍然可以更新其窗口背景:
Dialog dialog = ...;
...
Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.white_panel_background);
dialog.getWindow().setBackgroundDrawable(drawable);
注:你需要从白色变成文本颜色为黑色(因此它的可见白色背景)。
注意:您需要为AlertDialog执行一些额外的步骤,因为它将自己的样式用于背景。欲了解更多信息,请登录AlertDialog
style。
我会在明天尝试一下。这是否会更新对话框的窗口背景或覆盖对话框上的屏幕? – 2011-06-08 07:37:44
其实窗口背景:)它看起来像我误解了这个问题... – inazaruk 2011-06-08 08:04:55
不用担心。任何关于外部昏暗的想法? – 2011-06-08 16:06:54
那么你是怎么实现这一点?我也试图解决这个问题。请回复。 – 2014-05-18 20:04:33