Secara umum, OS Android memanfaatkan "tema" untuk memungkinkan pengembang aplikasi secara global menerapkan sekumpulan universal parameter gaya elemen UI ke aplikasi Android secara keseluruhan, atau, sebagai alternatif, ke satu subkelas Aktivitas.
Jadi, ada tiga "tema sistem" OS Android utama, yang dapat Anda tentukan dalam file XML Manifes Android saat Anda mengembangkan aplikasi untuk Versi 3.0 dan versi yang lebih baru
Saya merujuk pustaka dukungan (APPCOMPAT) di sini: - Jadi ketiga temanya adalah 1. AppCompat Light Theme (Theme.AppCompat.Light)
- Tema Gelap AppCompat (Theme.AppCompat),
- Dan perpaduan antara keduanya, AppCompat Light Theme dengan Darker ActionBar. (Theme.AppCompat.Light.DarkActionBar)
AndroidManifest.xml dan melihat tagnya, tema android disebutkan sebagai: - android: theme = "@ style / AppTheme"
Buka Styles.xml dan kami memiliki tema aplikasi dasar yang dideklarasikan di sana: -
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
Kita perlu mengganti elemen tema induk ini untuk mengatur gaya bilah tindakan.
ActionBar dengan latar belakang warna berbeda: -
Untuk melakukan ini, kita perlu membuat gaya baru MyActionBar (Anda dapat memberikan nama apa pun) dengan referensi induk ke @ style / Widget.AppCompat.Light.ActionBar.Solid.Inverse yang menyimpan karakteristik gaya untuk elemen Android ActionBar UI. Jadi definisinya
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@color/red</item>
</style>
Dan definisi ini perlu kita rujuk di AppTheme kita, menunjuk ke gaya ActionBar yang diganti sebagai--
@ style / MyActionBar
Ubah warna teks bilah judul (mis. Hitam menjadi putih): -
Sekarang untuk mengubah warna teks judul, kita perlu mengganti referensi induk parent = "@ style / TextAppearance.AppCompat.Widget.ActionBar.Title">
Jadi definisi gaya akan menjadi
<style name="MyActionBarTitle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/white</item>
</style>
Kami akan mereferensikan definisi gaya ini di dalam definisi gaya MyActionBar , karena modifikasi TitleTextStyle adalah elemen anak dari elemen UI OS induk ActionBar. Jadi definisi terakhir dari elemen gaya MyActionBar adalah
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@color/red</item>
<item name="titleTextStyle">@style/MyActionBarTitle</item>
</style>
JADI ini adalah Styles.xml terakhir
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@color/red</item>
<item name="titleTextStyle">@style/MyActionBarTitle</item>
</style>
<style name="MyActionBarTitle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/white</item>
</style>
</resources>
Untuk opsi ActionBar lebih lanjut Penataan menu, lihat tautan ini