Anda dapat menentukan warna ActionBar (dan hal-hal lain) dengan membuat Style kustom :
Cukup edit file res / values / styles.xml dari proyek Android Anda.
Contohnya seperti ini:
<resources>
<style name="MyCustomTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBarTheme</item>
</style>
<style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">ANY_HEX_COLOR_CODE</item>
</style>
</resources>
Kemudian setel "MyCustomTheme" sebagai Tema Aktivitas Anda yang berisi ActionBar.
Anda juga dapat mengatur warna untuk ActionBar seperti ini:
ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.RED));
Diambil dari sini: Bagaimana cara mengubah warna latar belakang ActionBar dari ActionBarActivity menggunakan XML?
setTheme(R.style.MyCustomTheme)
dalam metode onCate aktivitas Anda.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)
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--
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> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light"> <!-- This is the styling for action bar --> <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
sumber
Hanya untuk Android 3.0 dan lebih tinggi
Saat hanya mendukung Android 3.0 dan lebih tinggi, Anda dapat menentukan latar belakang bilah tindakan seperti ini:
res / values / themes.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <!-- the theme applied to the application or activity --> <style name="CustomActionBarTheme" parent="@style/Theme.Holo.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/MyActionBar</item> </style> <!-- ActionBar styles --> <style name="MyActionBar" parent="@style/Widget.Holo.Light.ActionBar.Solid.Inverse"> <item name="android:background">#ff0000</item> </style> </resources>
Untuk Android 2.1 dan lebih tinggi
Saat menggunakan Pustaka Dukungan, file XML gaya Anda mungkin terlihat seperti ini:
<?xml version="1.0" encoding="utf-8"?> <resources> <!-- the theme applied to the application or activity --> <style name="CustomActionBarTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/MyActionBar</item> <!-- Support library compatibility --> <item name="actionBarStyle">@style/MyActionBar</item> </style> <!-- ActionBar styles --> <style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse"> <item name="android:background">@drawable/actionbar_background</item> <!-- Support library compatibility --> <item name="background">@drawable/actionbar_background</item> </style> </resources>
Kemudian terapkan tema Anda ke seluruh aplikasi atau aktivitas individu Anda:
untuk lebih jelasnya Documentaion
sumber
No resource found that matches the given name '@style/Widget.Holo.Light.ActionBar.Solid.Inverse'.
Mengubahnya untukandroid:style/Widget.Holo.Light.ActionBar.Solid.Inverse
menyelesaikan masalah. Terima kasih.Anda dapat mengubah warna bilah tindakan dengan cara ini:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/green_action_bar</item> </style>
Hanya itu yang Anda butuhkan untuk mengubah warna bilah tindakan.
Ditambah jika Anda ingin mengubah warna bilah status cukup tambahkan baris:
<item name="android:colorPrimaryDark">@color/green_dark_action_bar</item>
Berikut adalah screenshot yang diambil dari situs android developer agar lebih jelas, dan berikut ini adalah a tautan untuk membaca lebih lanjut tentang menyesuaikan palet warna
sumber
Kemungkinan pembuatan lainnya.
actionBar.setBackgroundDrawable (ColorDrawable baru (Color.parseColor ("# 0000ff")));
sumber
Saya dapat mengubah warna teks ActionBar dengan menggunakan titleTextColor
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="titleTextColor">#333333</item> </style>
sumber
Warna Kustom:
<style name="AppTheme" parent="Theme.AppCompat.Light"> <item name="colorPrimary">@color/ColorPrimary</item> <item name="colorPrimaryDark">@color/ColorPrimaryDark</item> <!-- Customize your theme here. --> </style>
Gaya Kustom:
<style name="Theme.AndroidDevelopers" parent="android:style/Theme.Holo.Light"> <item name="android:selectableItemBackground">@drawable/ad_selectable_background</item> <item name="android:popupMenuStyle">@style/MyPopupMenu</item> <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item> <item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item> <item name="android:actionDropDownStyle">@style/MyDropDownNav</item> <item name="android:listChoiceIndicatorMultiple">@drawable/ad_btn_check_holo_light</item> <item name="android:listChoiceIndicatorSingle">@drawable/ad_btn_radio_holo_light</item> </style>
Untuk Lebih Banyak: Android ActionBar
sumber
Karena saya menggunakan
AppCompatActivity
jawaban di atas tidak berhasil untuk saya. Tetapi solusi di bawah ini berhasil:Di res / styles.xml
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> </style>
PS: Saya sudah menggunakan
colorPrimary
sebagai gantinyaandroid:colorPrimary
sumber
di style.xml tambahkan kode ini
<resources> <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/MyAction</item> </style> <style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:background">#333333</item> </style> </resources>
sumber
Gunakan ini - http://jgilfelt.github.io/android-actionbarstylegenerator/
Alat yang bagus untuk menyesuaikan bilah tindakan Anda dengan pratinjau langsung dalam beberapa menit.
sumber