2013-07-23 75 views
8

我想更改Alert對話框的背景。我曾嘗試下面的代碼塊這樣做:如何更改Android Alert對話框的背景標題

<style name="Theme.AlertDialog" parent="@android:style/Theme.Holo.Light.Dialog"> 
     <item name="android:background">@android:color/transparent</item> 
     <item name="android:textColor">#659F26</item> 
     <item name="android:windowTitleStyle">@style/Theme.AlertDialog.Title</item> 
    </style> 

    <style name="Theme.AlertDialog.Title" parent="@android:style/TextAppearance.DialogWindowTitle"> 
     <item name="android:background">@drawable/cab_background_top_example</item> 
    </style> 

Java代碼:

ContextThemeWrapper ctw = new ContextThemeWrapper(this, R.style.Theme_AlertDialog); 
final AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(ctw); 

alertDialogBuilder.setTitle(getResources().getString(R.string.confirmation)); 
alertDialogBuilder.setMessage(getResources().getString(R.string.msg));  
alertDialogBuilder.show(); 

我的應用程序是顯示對話框如下:

enter image description here

,而我希望它看起來如:

enter image description here

請建議,我在做什麼錯。

+0

爲什麼向下票呢? – mudit

+0

我只是從你的問題解決我的問題,所以+1從我身邊..... – duggu

回答

6

使用創建對話框時,此代碼:

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 

創建自己的佈局正如許多定製與標題做了然後設置您的佈局

dialog.setContentView(R.layout.yourlayout); 

注:使用

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); before  
dialog.setContentView(R.layout.yourlayout); 

否則報錯。

+1

有沒有辦法做到這一點,改變默認對話框的佈局。我只想改變標題和你建議的方式,我必須做自己和其他事情的佈局。 – mudit

+0

是的,你可以自定義許多你想要的 –

+2

我的問題:有沒有辦法通過樣式來處理,而不是改變整個佈局? – mudit

0
ContextThemeWrapper ctw = new ContextThemeWrapper(this, R.style.Theme_AlertDialog); 

在這一行使用,而不是 「this」 使用ActivityName.this

+1

這不是OP的問題的解決方案。 – laalto

相關問題