Saat membuat AlertDialog
Anda dapat mengatur tema untuk digunakan.
Contoh - Membuat Dialog
AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.MyAlertDialogStyle);
builder.setTitle("AppCompatDialog");
builder.setMessage("Lorem ipsum dolor...");
builder.setPositiveButton("OK", null);
builder.setNegativeButton("Cancel", null);
builder.show();
styles.xml - Gaya khusus
<style name="MyAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
<!-- Used for the buttons -->
<item name="colorAccent">#FFC107</item>
<!-- Used for the title and text -->
<item name="android:textColorPrimary">#FFFFFF</item>
<!-- Used for the background -->
<item name="android:background">#4CAF50</item>
</style>
Hasil
Edit
Untuk mengubah Tampilan Judul, Anda dapat melakukan hal berikut. Pertama tambahkan gaya baru:
<style name="MyTitleTextStyle">
<item name="android:textColor">#FFEB3B</item>
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Title</item>
</style>
setelah itu cukup rujuk gaya ini di MyAlertDialogStyle
:
<style name="MyAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
...
<item name="android:windowTitleStyle">@style/MyTitleTextStyle</item>
</style>
Dengan cara ini Anda dapat menentukan perbedaan textColor
untuk pesan melalui android:textColorPrimary
dan perbedaan untuk judul melalui gaya.
appcompat-v7
- ini membawa kompatibilitas komponen yang lebih baru ke API Level 7 (Android 2.1)Untuk menggunakan tema untuk semua aplikasi, dan jangan gunakan parameter kedua untuk menata Dialog Anda
Pada aplikasi saya menggunakan aksen warna dalam tema, jangan tampilkan tombol alertDialog dengan colorAccent tema saya harus menambahkan gaya dialog dalam tema.
sumber
Jika Anda ingin menggunakan android.support.v7.app.AlertDialog baru dan memiliki warna yang berbeda untuk tombol-tombol dan juga memiliki tata letak khusus kemudian lihat di https://gist.github.com/JoachimR/6bfbc175d5c8116d411e
sumber
Builder setSingleChoiceItems(CharSequence[] items, int checkedItem, final OnClickListener listener)
. Saya tidak ingin melakukan subklas adaptor dan mengubah tampilan di sana.Ikuti jawaban @reVerse tetapi dalam kasus saya, saya sudah memiliki beberapa properti di
AppTheme
seperti sayaJadi dialog saya akan terlihat seperti
Saya menyelesaikannya dengan
1) Ubah impor dari
android.app.AlertDialog
menjadiandroid.support.v7.app.AlertDialog
2) Saya mengganti 2 properti
AppTheme
dengan nilai nol.
Semoga ini bisa membantu orang lain
sumber
Jika Anda seperti saya, Anda hanya ingin memodifikasi beberapa warna di AppCompat, dan satu-satunya warna yang perlu Anda ubah secara unik dalam dialog adalah latar belakang. Maka yang perlu Anda lakukan hanyalah mengatur warna
colorBackgroundFloating
.Inilah tema dasar saya yang hanya memodifikasi beberapa warna tanpa tema bersarang:
sumber
sumber