Bir Android uygulamasının tüm düğmelerine nasıl stil uygularım


131

Tüm başvuruma uygulanan bir stilim var:

AndroidManifest.xml:

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

Ve styles.xml dosyamda:

 <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>

Ancak stil uygulanmaz.

ApplicationStyle- içinde yanlış adı kullandıysam özür dilerim Item, ancak nesne adlarını nerede arayacağım konusunda hiçbir fikrim yok ve basitçe varsayım, android:buttontüm düğmeler için geçerli.


Yanıtlar:


206

Android stilleri için, Android'in yerleştirdiği önceden ayarlanmış niteliklere başvurursunuz R.attr. Bu durumda, referans vermek istediğiniz gibi görünüyor android:buttonStyle. Bunun işe yarayacağını düşünüyorum:

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

1
Tanrım, asırlardır böyle bir işlevsellik arıyordum. Düğmelerin textColor öğesinin ana temanın textColor özelliğini neden takip etmediği konusunda hiçbir fikrim yok. Çok teşekkürler!
Fenix ​​Voltres

İplikçi için bunu nasıl yapacağını kimse yok mu?
Mike6679

31
Sadece bir not: CKButton stili @android: style / Widget.Button'ı miras almazsa, düğme çalışmayı durdurur.
James

9
parent="android:Widget.Button"ve arasındaki fark parent=@android:style/Widget.Buttonnedir?
Hatalar Happen

Düzen düzenleyicisi, temada ayarlanan düğme stiline göre değişiklikleri neden ön
Killer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.