Saya telah menambahkan desain material appCompat ke aplikasi saya dan tampaknya dialog peringatan tidak menggunakan warna primer, primer, atau aksen saya.
Inilah gaya dasar saya:
<style name="MaterialNavyTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/apptheme_color</item>
<item name="colorPrimaryDark">@color/apptheme_color_dark</item>
<item name="colorAccent">@color/apptheme_color</item>
<item name="android:textColorPrimary">@color/action_bar_gray</item>
</style>
Berdasarkan pemahaman saya, teks tombol dialog juga harus menggunakan warna-warna ini. Apakah saya salah dalam memahami atau ada sesuatu yang harus saya lakukan?
Larutan:
Jawaban yang ditandai membuat saya berada di jalur yang benar.
<style name="MaterialNavyTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/apptheme_color</item>
<item name="colorPrimaryDark">@color/apptheme_color_dark</item>
<item name="colorAccent">@color/apptheme_color</item>
<item name="android:actionModeBackground">@color/apptheme_color_dark</item>
<item name="android:textColorPrimary">@color/action_bar_gray</item>
<item name="sdlDialogStyle">@style/DialogStyleLight</item>
<item name="android:seekBarStyle">@style/SeekBarNavyTheme</item>
</style>
<style name="StyledDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="colorPrimary">@color/apptheme_color</item>
<item name="colorPrimaryDark">@color/apptheme_color_dark</item>
<item name="colorAccent">@color/apptheme_color</item>
</style>
android
material-design
android-support-library
android-appcompat
material-components-android
Matius
sumber
sumber
Jawaban:
DIPERBARUI PADA Agustus 2019 DENGAN Komponen bahan untuk pustaka android:
Dengan komponen Material baru untuk perpustakaan Android Anda dapat menggunakan
com.google.android.material.dialog.MaterialAlertDialogBuilder
kelas baru , yang memanjang dariandroidx.appcompat.AlertDialog.Builder
kelas yang ada dan memberikan dukungan untuk spesifikasi Desain Material terbaru.Cukup gunakan sesuatu seperti ini:
Anda dapat menyesuaikan warna yang memperluas
ThemeOverlay.MaterialComponents.MaterialAlertDialog
gaya:Untuk menerapkan gaya khusus Anda, gunakan saja konstruktor:
Untuk menyesuaikan tombol, judul dan teks isi memeriksa posting ini untuk lebih jelasnya.
Anda juga dapat mengubah gaya secara global dalam tema aplikasi Anda:
DENGAN PERPUSTAKAAN DUKUNGAN dan TEMA APPCOMPAT:
Dengan yang baru
AppCompat v22.1
Anda dapat menggunakan android.support.v7.app.AlertDialog baru .Cukup gunakan kode seperti ini:
Dan gunakan gaya seperti ini:
Kalau tidak, Anda dapat menentukan dalam tema Anda saat ini:
dan kemudian dalam kode Anda:
Berikut AlertDialog di Kitkat:
sumber
<item name="android:alertDialogTheme">@style/AppCompatAlertDialogStyle</item>
saat menginisialisasi pembuat dialog, berikan parameter kedua sebagai tema. Ini akan secara otomatis menampilkan desain material dengan API level 21.
atau,
sumber
AppCompat tidak melakukan itu untuk dialog (setidaknya belum)
EDIT: itu sekarang. pastikan untuk digunakan
android.support.v7.app.AlertDialog
sumber
import app.AlertDialog
bukan appCompat. Saya mencoba mencari tahu apa yang salah selama sekitar 40 menit sebelum saya benar-benar memeriksanya ... Sialan Anda google!Anda dapat mempertimbangkan proyek ini: https://github.com/fengdai/AlertDialogPro
Ini dapat memberikan Anda dialog peringatan tema materi yang hampir sama dengan lollipop. Kompatibel dengan Android 2.1.
sumber
Anda bisa menggunakannya
Perpustakaan Desain Bahan
Perpustakaan Desain Bahan dibuat untuk dialog , tombol, dan hal-hal lain yang cukup waspada seperti bar makanan ringan. Saat ini sangat berkembang.
Panduan, kode, contoh - https://github.com/navasmdc/MaterialDesignLibrary
Panduan cara menambahkan perpustakaan ke Android Studio 1.0 - Bagaimana cara mengimpor perpustakaan desain bahan ke Android Studio?
.
Selamat coding;)
sumber
Coba perpustakaan ini:
https://github.com/avast/android-styled-dialogs
Ini berdasarkan
DialogFragments
bukanAlertDialogs
(seperti yang dari @afollestad). Keuntungan utama: Dialog tidak berhenti setelah rotasi dan panggilan balik masih berfungsi.sumber
Untuk beberapa alasan android: textColor tampaknya hanya memperbarui warna judul. Anda dapat mengubah warna teks pesan dengan menggunakan a
sumber
Dialog peringatan gaya desain Bahan: Font Kustom, Tombol, Warna & bentuk, ..
Gaya:
Keluaran:
sumber