Saya telah dapat menyesuaikan latar belakang bilah tindakan, gambar logo, dan warna teks menggunakan saran dari ini:
Android: Bagaimana mengubah Ikon "Home" ActionBar menjadi sesuatu selain ikon aplikasi?
Warna teks
ActionBar Gambar latar belakang ActionBar
Bagian terakhir yang ingin saya sesuaikan adalah gambar tombol kembali. Secara default abu-abu dan saya ingin putih. Baik mengubah warna, menentukan gambar atau hanya membuatnya transparan (dan menambahkan chevron ke gambar logo saya yang disesuaikan) akan bekerja. Bagaimana saya melakukannya?
android
android-actionbar
Sunil Gowda
sumber
sumber
setDisplayHomeAsUpEnabled()
onActionBar
. Secara khusus TIDAK seharusnya hanya "kembali". Ini berarti bahwa mengetuk ikon aplikasi akan "naik" hierarki daripada kembali ke aktivitas sebelumnya (seperti halnya tombol BACK pada bilah sistem).Jawaban:
Indikator keterjangkauan "naik" disediakan oleh drawable yang ditentukan dalam
homeAsUpIndicator
atribut tema. Untuk menimpanya dengan versi kustom Anda sendiri itu akan menjadi seperti ini:Jika Anda mendukung pra-3.0 dengan aplikasi Anda, pastikan Anda memasukkan versi tema khusus ini
values-v11
atau serupa.sumber
<item name="android:homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
tidak bekerja untuk saya, tetapi<item name="homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
berhasil. Kira itu versi hal androidNavigation Drawer
? Saya kiraActionBarDrawerToggle
mengganti indikator naik dengan salah satu dari indikatornya sendiri, oleh karena itu mengaturnya pada gaya tidak berpengaruh ...Jadi Anda dapat mengubahnya dengan mudah secara terprogram dengan menggunakan fungsi homeAsUpIndicator () yang ditambahkan di Android API level 18 dan yang lebih tinggi.
ActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);
Jika Anda menggunakan perpustakaan dukungan
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_yourindicator);
sumber
drawerToggle.setDrawerIndicatorEnabled(false);
sebelum mengubah indikatorSaya sudah memeriksa pertanyaannya. Inilah langkah-langkah yang saya ikuti. Kode sumber dihosting di GitHub: https://github.com/jiahaoliuliu/sherlockActionBarLab
Ganti gaya aktual untuk perangkat pra-v11.
Salin dan tempel kode ikuti di file styles.xml dari folder nilai default.
Perhatikan bahwa orang tua dapat diubah ke tema Sherlock apa pun.
Ganti gaya aktual untuk perangkat v11 +.
Pada folder yang sama di mana nilai folder berada, buat folder baru bernama values-v11. Android akan secara otomatis mencari konten folder ini untuk perangkat dengan API atau di atasnya.
Buat file baru bernama styles.xml dan tempel kode ikuti ke dalam file:
Perhatikan bahwa nama gaya harus sama dengan file dalam folder nilai default dan alih-alih item homeAsUpIndicator, itu disebut android: homeAsUpIndicator.
Masalah item karena untuk perangkat dengan API 11 atau lebih, Sherlock Action Bar menggunakan Action Bar default yang datang dengan Android, yang kuncinya adalah android: homeAsUpIndicator. Tetapi untuk perangkat dengan API 10 atau lebih rendah, Sherlock Action Bar menggunakan ActionBar sendiri, yang indikator rumah sebagai indikator disebut "homeAsUpIndicator" sederhana.
Gunakan tema baru dalam manifes
Ganti tema untuk aplikasi / aktivitas di file AndroidManifest:
sumber
Mengubah ikon navigasi kembali berbeda untuk ActionBar dan Toolbar.
Untuk
homeAsUpIndicator
atribut Override ActionBar :Untuk
navigationIcon
atribut penggantian Toolbar :sumber
Saya melakukan kode di bawah ini
onCreate()
dan bekerja dengan sayasumber
Jika Anda menggunakan Toolbar, Anda tidak memerlukan solusi itu. Anda hanya perlu mengubah tema bilah alat
Jika Anda menggunakan dark.actionBar, tombol kembali Anda akan menjadi putih jika Anda menggunakan tema actionbar terang itu akan menjadi hitam.
sumber
baki ini:
di dalam
onCreate()
;sumber
Saya menggunakan gambar back.png dalam file proyek menifest.xml. tidak apa-apa bekerja dalam proyek.
sumber
Saya memiliki masalah yang sama dari arah ikon tombol Beranda tindakan-bar, karena gagal mengelola Ikon di ikon direktori Sumber Daya Gradle
seperti dalam direktori sumber daya Arab Gradle Anda meletakkan ikon di x-hdpi dan dalam bahasa Inggris Gradle resource nama ikon yang sama Anda masukkan ke folder kepadatan berbeda seperti xx-hdpi, sehingga di APK akan ada dua nama ikon yang sama di direktori yang berbeda, sehingga perangkat Anda akan memilih ikon tergantung kepadatan mungkin RTL atau LTR
sumber