2011-12-09 101 views
3

這可能很簡單,但我無法在任何地方找到答案。使用AlertDialog.Builder.setCustomTitle()時設置默認文本樣式()

我才能使用我自己的看法爲對話框的標題使用setCustomTitle我的警告對話框:

View customTitle = getLayoutInflater().inflate(R.layout.dialog_title, null); 
new AlertDialog.Builder(AddBusActivity.this).setCustomTitle(customTitle).(some more stuff).show(); 

而且dialog_title.xml:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView android:text="My Title" 
      android:id="@+id/title" 
      android:layout_height="match_parent" 
      android:layout_width="match_parent" 
      android:gravity="right|center_vertical"> 
    </TextView> 
</LinearLayout> 

我的問題是使標題TextView使用默認的對話標題樣式。 在我的設備中,警告對話框背景很暗,所以文字必須明亮,但在其他設備中可能會有所不同。

我嘗試添加機器人:textAppearance =「@安卓風格/ TextAppearance.DialogWindowTitle」到TextView的,但它造成的文字爲黑色這是不正確的風格。

我該如何解決這個問題?

回答

2

我有類似的問題風格和顏色,但通過使用自定義對話框而不是AlertDialog解決它。

1)我與

AlertDialog.Builder builder = new AlertDialog.Builder(mContext); 
builder.setTitle(mName); 
... 
mDialog = builder.create(); 
mDialog.show(); 

代碼layout.dialog_custom_title集所需樣式(背景和顏色)

<LinearLayout xmlns: android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:background="@drawable/dialogs_background" 
android:orientation="vertical" > 
... 
<TextView 
... 
android:textColor="@color/TxtLightBlue" 
android:textSize="@dimen/text_size_default" 
/> 
... 

希望它會改爲

dialog = new Dialog(mContext); 
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
dialog.setContentView(R.layout.dialog_custom_title); 
// initializing Views 
dialog.show(); 

2)幫助他人。

+0

此值得1 :) – ZigiZ

0

我用下面whiuch設置顏色代碼和間距相當好

<TextView android:text="My Title" 
    android:id="@+id/title" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 
    android:textSize="24sp" 
    android:textColor="@color/green" 
    android:textStyle="bold" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:gravity="center_horizontal|center_vertical"> 
</TextView>