Bagaimana cara menerapkan gaya ke semua tombol aplikasi Android


131

Saya memiliki gaya yang diterapkan pada seluruh aplikasi saya:

AndroidManifest.xml:

<application android:theme="@style/ApplicationStyle" android:icon="@drawable/icon" android:label="@string/app_name">

Dan di styles.xml saya:

 <style name="ApplicationStyle" parent="android:Theme">
  <item name="android:button">@style/CKButton</item>
 </style>
 <style name="CKButton" parent="android:style/Widget.Button">
  <item name="android:textSize">19sp</item>
  <item name="android:layout_margin">0dip</item>
  <item name="android:background">#ff0000</item>
 </style>

Tetapi gaya tidak diterapkan.

Maaf jika saya hanya menggunakan nama palsu di ApplicationStyle- Item, tapi saya tidak tahu di mana harus mencari nama objek dan hanya diasumsikan, itu android:buttonberlaku untuk semua tombol.


1
Silakan lihat jawaban saya di stackoverflow.com/a/26625931/1065835
Maksim Dmitriev

Jawaban:


206

Untuk gaya Android, Anda mereferensikan atribut preset yang telah ditetapkan oleh Android R.attr. Dalam hal ini, sepertinya Anda ingin referensi android:buttonStyle. Saya pikir ini akan berhasil:

<style name="ApplicationStyle" parent="android:Theme">
  <item name="android:buttonStyle">@style/CKButton</item>
</style>

1
Ya Tuhan, aku sudah lama mencari fungsi seperti itu. Tidak tahu mengapa tombol warna TextColor tidak mengikuti properti textColor tema utama. Terimakasih banyak!
Fenix ​​Voltres

Adakah yang tidak tahu bagaimana melakukan ini untuk pemintal?
Mike6679

31
Hanya satu catatan: jika gaya CKButton tidak mewarisi @android: style / Widget.Button, tombol akan berhenti bekerja.
James

9
apa perbedaan antara parent="android:Widget.Button" dan parent=@android:style/Widget.Button?
Bugs Terjadi

Mengapa editor tata letak tidak mempratinjau perubahan sesuai gaya tombol yang diatur dalam tema
Killer
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.