2011-06-08 69 views
4

我明白如何设置对话框暗淡的量。但是,我更喜欢颜色是半透明的白色而不是半透明的黑色(或者是深灰色?)。有任何想法吗?设置对话框的“暗淡”颜色

+0

那么你是怎么实现这一点?我也试图解决这个问题。请回复。 – 2014-05-18 20:04:33

回答

4

首先,您需要创建白色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


enter image description here

+0

我会在明天尝试一下。这是否会更新对话框的窗口背景或覆盖对话框上的屏幕? – 2011-06-08 07:37:44

+3

其实窗口背景:)它看起来像我误解了这个问题... – inazaruk 2011-06-08 08:04:55

+0

不用担心。任何关于外部昏暗的想法? – 2011-06-08 16:06:54