2012-03-15 17 views
5

Android uygulamamdaki iletişim kutuları için özel bir tema oluşturdum ve iletişim başlığı için kullanılan düzeni geçersiz kılmayı planlıyorum. Bunu standart android Theme'da gördüm, değiştirilecek olana benzeyen bu özellik var.Android'de iletişim başlık düzenini geçersiz kılma

<item name="dialogTitleDecorLayout">@layout/dialog_title</item> 

Ama aşağıdaki hatayı see my Theme

<style name="Theme.Dialog.MyDialog" parent="android:Theme.Dialog"> 
    <item name="android:windowBackground">@android:color/black</item> 
    <item name="android:dialogTitleDecorLayout">@layout/my_dialog_title</item> 
</style> 

yoksayamazlar çalıştığınızda:

No resource found that matches the given name: attr 'android:dialogTitleDecorLayout'

Neden bunu değiştirmek için ve nasıl bilebilirim ben mümkün değildi hangi öznitelikleri değiştirilebilir ve değil?

+0

Eğer tarzı için tam xml dosyası gösterebilir onclick düğme olayda görüntülenen yöntemdir? Orada android için xml şemasını kaçırıyor olabilir misiniz? – Genry

cevap

1

Bu öğeyi bu şekilde geçersiz kılmak mümkün değildir. Diyaloğu, gerekli mizanpajla özelleştirmelisiniz ve mizanpajda, temayı gereksiniminiz için burada uygulamak zorundasınız.

dialog_title.xml 

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

<TextView 
    android:id="@+id/text" 
    android:text="@string/tell_a_friend" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingLeft="8dip" 
    android:paddingTop="12dip" 
    android:paddingBottom="12dip" 
    style="@style/bigTextWhite" /> 

</LinearLayout> 

// Bu diyalog

public void onClickHelp(View v) { 
    final Dialog duDialog = new Dialog(this); 
    duDialog.setContentView(R.layout.data_usage); 
    duDialog.getWindow().setBackgroundDrawableResource(R.color.title_text); 

    duDialog.setTitle("Data Usage"); // I would like to set the color and add button here 
    ListView data = (ListView) duDialog.findViewById(R.id.DataUsage); 
    duCursor = Data.getAll(db); 
    startManagingCursor(duCursor); 
    duAdapter = new DataAdapter(duCursor); 
    data.setAdapter(duAdapter); 
    duDialog.show(); 

}