Saya menguji fitur Appcompat 21 Material Design yang baru. Oleh karena itu saya telah membuat Toolbar seperti ini:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_my_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="@style/ThemeOverlay.AppCompat.ActionBar"/>
dan memasukkannya ke dalam file tata letak utama saya.
Lalu saya menetapkannya sebagai supportActionBar seperti itu:
Toolbar toolBar = (Toolbar)findViewById(R.id.activity_my_toolbar);
setSupportActionBar(toolBar);
Ini berfungsi, tetapi entah bagaimana saya tidak tahu cara menyesuaikan bilah alat. Warnanya abu-abu dan teks di atasnya berwarna hitam. Bagaimana cara mengubah latar belakang dan warna teks?
Saya telah melalui instruksi ini:
http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html
Apa yang telah saya awasi untuk mengubah warna?
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:windowActionBar" tools:ignore="NewApi">false</item>
<item name="windowActionBar">false</item>
</style>
EDIT :
Saya bisa mengubah warna latar belakang dengan menambahkan baris kode berikut ke tema:
<item name="colorPrimary">@color/actionbar</item>
<item name="colorPrimaryDark">@color/actionbar_dark</item>
Tapi mereka tidak akan mempengaruhi warna teks. Apa yang saya lewatkan? Alih-alih teks hitam dan tombol menu hitam, saya lebih suka teks putih dan tombol menu putih:
sumber
Jawaban:
sekali lagi ini semua ada di tautan yang Anda berikan
untuk mengubah teks menjadi putih yang harus Anda lakukan adalah mengubah tema.
gunakan tema ini
sumber
AppCompatActivity
bukanActivity
.UPDATE 12/11/2019: Pustaka Komponen Material
Dengan Material Components dan library Androidx, Anda dapat menggunakan:
yang
android:background
atribut dalam tata letak:terapkan gaya default:
style="@style/Widget.MaterialComponents.Toolbar.Primary"
atau sesuaikan gaya yang diwarisi darinya:ganti warna default menggunakan
android:theme
atribut:dengan:
LAMA: Pustaka dukungan:
Anda dapat menggunakan
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
tema seperti yang disarankan dalam jawaban lain, tetapi Anda juga dapat menggunakan solusi seperti ini:Dan Anda dapat memiliki kontrol penuh atas elemen ui Anda dengan gaya ini:
sumber
Hai jika Anda ingin menerapkan tema Material hanya untuk android 5.0 maka Anda dapat menambahkan tema ini di dalamnya
Di sini, baris di bawah ini bertanggung jawab atas warna teks dari Actionbar desain Material.
sumber
Anda dapat menyetel warna item toolbar kustom secara dinamis dengan membuat kelas toolbar kustom:
kemudian lihat di file layout Anda. Sekarang Anda dapat mengatur warna khusus menggunakan
Sumber:
Saya menemukan informasi untuk melakukan ini di sini: Cara mengubah warna ikon Toolbar Android secara dinamis
dan kemudian saya mengeditnya, memperbaikinya, dan mempostingnya di sini: GitHub: AndroidDynamicToolbarItemColor
sumber
Inilah yang dikenal sebagai DarkActionBar yang berarti Anda harus menggunakan tema berikut untuk mendapatkan gaya yang Anda inginkan:
sumber
Anda dapat mengubah warna teks di toolbar dengan ini:
sumber
Capai ini dengan menggunakan
toolbar
seperti ini:sumber
Coba ini di styles.xml Anda:
colorPrimary akan menjadi warna toolbar.
Apakah Anda membuat ini di Eclipse?
sumber
saya memecahkan masalah ini setelah studi lebih lanjut ...
untuk Api21 dan lebih banyak digunakan
untuk penggunaan versi yang lebih rendah
sumber
Jika Anda ingin mengubah warna toolbar di seluruh aplikasi Anda, manfaatkan styles.xml. Secara umum, saya menghindari mengubah komponen ui dalam kode java saya kecuali saya mencoba melakukan sesuatu secara programatik. Jika ini adalah satu set waktu, maka Anda harus melakukannya dalam xml untuk membuat kode Anda lebih bersih. Berikut adalah tampilan styles.xml Anda:
Pastikan Anda menggunakan gaya di atas dalam AndroidManifext.xml Anda seperti:
Saya menginginkan warna toolbar yang berbeda untuk aktivitas yang berbeda. Jadi saya memanfaatkan gaya lagi seperti ini:
sekali lagi, terapkan gaya ke setiap aktivitas di AndroidManifest.xml Anda seperti:
sumber
Untuk orang yang menggunakan AppCompatActivity dengan Toolbar sebagai latar belakang putih. Gunakan kode ini.
Diperbarui: Desember 2017
sumber