2011-06-08 54 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