2015-01-02 79 views
1

我目前正在嘗試在我正在製作的Android應用上主題提醒對話框。 我可以通過API 19/20(KitKat)主題API 9(最小的應用程序)。API 21上的主題對話框(棒棒糖)Android

但是,我不能主題API 21(棒棒糖)正確。我不喜歡作爲默認主題的灰白/淺灰色,所以我試圖讓整個背景變成白色。

Screenshot of dialog with default material light theme

我只能通過該對話框的佈局的背景設置爲白色做一定的量,並且還按鈕背景給選擇器,其爲白色。

按鈕後面還有一段空間(全部在底部),儘管它們仍然保持着淺灰色。我曾試着調查過是否可以通過主題buttonBarStyle屬性來改變它,但沒有任何運氣。

下面是一些代碼片段:

主題:

<style name="myTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> 
     <item name="android:alertDialogStyle">@style/AlertDialogCustom</item> 
    </style> 

定製警告對話框主題:

<style name="AlertDialogCustom" parent="@android:style/Theme.Dialog"> 
     <item name="android:bottomBright">@color/white</item> 
     <item name="android:bottomDark">@color/white</item> 
     <item name="android:bottomMedium">@color/white</item> 
     <item name="android:centerBright">@color/white</item> 
     <item name="android:centerDark">@color/white</item> 
     <item name="android:centerMedium">@color/white</item> 
     <item name="android:fullBright">@color/white</item> 
     <item name="android:fullDark">@color/white</item> 
     <item name="android:topBright">@color/white</item> 
     <item name="android:topDark">@color/white</item> 
    </style> 

我已經嘗試了對話主題,裏面的一些這樣的事情。 沒有奏效:

<item name="android:background">@color/white</item> 
    <item name="android:colorBackground">@color/white</item> 
    <item name="android:buttonBarStyle">@style/CustomButtonBarStyle</item> 

CustomButtonBarStyle:

<style name="CustomButtonBarStyle" parent="@android:style/ButtonBar"> 
     <item name="android:background">@color/white</item> 
     <item name="android:divider">@color/white</item> 
    </style> 

任何幫助,將不勝感激!

+0

發現我需要使用 <項目名稱=「機器人:alertDialogTheme」> @風格/ AlertDialogCustom 代替alertDialogStyle 不知道爲什麼這就不一樣了,我本來期望無論是上班,因爲風格一直工作到api 21. – XdrummerXboy

+0

你應該發佈這個答案! –

+0

完成,謝謝@AdamS – XdrummerXboy

回答

2

發現我需要使用的

<item name="android:alertDialogTheme">@style/AlertDialogCustom</item>

代替alertDialogStyle。不知道爲什麼它有所作爲,我本來預計要麼工作,因爲風格工作一直到api 21.

我發佈這個答案以及我有這個問題後,以及我傷口的解決方案(我可能有其他問題與上述答案,我不記得)重新創建整個對話框使用佈局,並在佈局中有自定義按鈕。