2

color/colorPrimary是我想要標題的一些橙色。但我成功地更改了標題文本顏色,這很容易。我想改變標題背景的顏色。這是我到目前爲止有:Android支持警報對話框更改標題背景顏色?

<style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> 

    <item name="android:textColorPrimary">@color/colorPrimary</item> 
    <item name="android:windowTitleBackgroundStyle">@style/dialog_title_style</item> 
    <item name="android:alertDialogStyle">@style/AlertDialog_Sphinx</item> 
    <item name="colorAccent">@color/colorPrimary</item> 




</style> 
<style name="dialog_title_style" > 
    <item name="android:background">@color/colorPrimary</item> 
    <item name="android:padding">100dp</item> 
</style> 

<style name="AlertDialog_Sphinx"> 
    <item name="android:fullDark">@color/colorPrimary</item> 
    <item name="android:topDark">@color/colorPrimary</item> 
    <item name="android:centerDark">@color/colorPrimary</item> 
    <item name="android:bottomDark">@color/colorPrimary</item> 
    <item name="android:fullBright">@color/colorPrimary</item> 
    <item name="android:topBright">@color/colorPrimary</item> 
    <item name="android:centerBright">@color/colorPrimary</item> 
    <item name="android:bottomBright">@color/colorPrimary</item> 
    <item name="android:bottomMedium">@color/colorPrimary</item> 
    <item name="android:centerMedium">@color/colorPrimary</item> 
</style> 

public class MyDialogFragment extends DialogFragment { 

@Override 
public Dialog onCreateDialog(Bundle savedInstanceState) { 

    AlertDialog.Builder builder=new AlertDialog.Builder(getActivity(), R.style.AppCompatAlertDialogStyle).setTitle("Naslov") 
      .setMessage("Poruka......................................................") 
      .setIcon(android.R.drawable.ic_menu_help) 
      .setPositiveButton("OK",null); 
    return builder.create(); 
    } 
} 

我使用AlertDialog的支持版本(23.1.0)這樣對話框看起來更像是新版Android對話框(材質設計)

compile 'com.android.support:appcompat-v7:23.1.0' 
compile 'com.android.support:design:23.1.0' 

我想要那個頭是彩色/ colorPrimary(橙色)背景。 enter image description here

回答

0

您可以爲警報對話框創建自定義視圖。

LayoutInflater inflater = getLayoutInflater(); 
View dialoglayout = inflater.inflate(R.layout.dialog_layout, (ViewGroup) getCurrentFocus()); 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setView(dialoglayout); 
builder.show(); 
+0

肯定的一個選擇,但我雖然headerBackground:#F56321是更簡單的選項。但到目前爲止,造型的所有選擇都沒有幫助。 –

1

在最新的API級別中,警報對話框沒有單獨的標題。它有一個單獨的視圖和一個分隔標題文本和消息的分隔符。您可以更改標題文本和消息文本顏色以及分隔線顏色。此外,您可以更改整個警報對話框的背景,但不僅僅是它的標題部分。

作爲一種解決方法,您可以做的是:不設置標題文本,但使用帶有文本的圖像,然後是消息。這樣分隔線就會消失,圖像看起來就像標題。 基本上是一個自定義警報對話框。

檢查this post以查看如何在alertdialogs中添加圖像。

0

您可以查看此材質對話框庫here。它使用起來非常簡單,而且非常可定製。

+0

我會盡量不要因爲設計而使用任何庫。但是我的網頁有這種類型的對話框,頭部是橙色的,而主體和頁腳是白色的。它認爲這將是很好的完成這樣的事情。此外,我認爲這很容易就像在網絡上一樣改變:) –

+0

我現在不會嘗試,但如果用你的圖書館很容易完成,我會認爲它是一個選項。 –

+0

它似乎沒有標題背景選項,但你把廣告放在這裏,這對你圖書館很好。 –

相關問題