2013-06-19 21 views
5

Uygulamamdaki düğmelerimin tüm TextColor'unu beyaza ve aynı zamanda kalın yapmaya çalışıyorum. Ama bu olmuyor, ben üzerine yazıyor the android:Widget.Button Ben Jelly Bean için geliştiriyorum 4.1.2 Neyi yanlış yapıyorum?Tüm uygulamada düğme stili değiştirme

android:theme="@style/spui" > 

Ben

<style name="spui" parent="android:Theme.Holo.Light.DarkActionBar"> 
    <item name="android:buttonStyle">@style/Buttonspui</item> 
</style> 

düğmesinin kendisini

<style name="Buttonspui" parent="android:Widget.Button"> 
     <item name="android:background">@drawable/btn_default_holo_light</item> 
     <item name="android:minHeight">48dip</item> 
     <item name="android:minWidth">64dip</item> 
     <item name="android:textColor">#ffffff</item> 
     <item name="android:textStyle">bold</item> 
    </style> 
için tarzı gibi tema tezahür yılında

Tema tanımı 210

senin Button bunu kullanabilirsiniz stil için düğmeye

<Button 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="15dp" 
    android:text="@string/edit" 
    android:id="@+id/btnEdit" 
    style="@style/Buttonspui"/> 
+0

deneyin her o stili uygulamak için Buton. Bu çalışacaktır. – SKK

+0

Bu temayı uygulamada uyguluyorsanız, etkinlik veya düğmenin kendisi için başka bir uygulama yapmadığınızdan emin olun. –

+0

düğme kendisi başka stil – mXX

cevap

15

: drawable klasörüne

Git ve XML yapmak (ör Aşağıdaki içeriyor "tarzı" olarak adlandırılan button.xml) dosyası:

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item> 
     <shape> 
      <gradient android:startColor="#449def" android:endColor="#2f6699" android:angle="270" /> 
      <stroke android:width="1px"   android:color="#000000" /> 
       <corners android:bottomLeftRadius="0dp" 
       android:bottomRightRadius="0dp" 
       android:topLeftRadius="8dp" 
       android:topRightRadius="8dp"/>  
       <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> 
     </shape> 
    </item> 

</selector> 

Bu benim kod, Asistan'la

istiyorum bu

gibi düzen XML ( mainactivity.xml) 'de diyoruz gerekli değişiklikleri yapabilirsiniz olduğunu Şimdi

android:background="@drawable/button.xml" 
tipi rengini değiştirmek ve stil hangi değerlerin klasöründe styles.xml parçası olarak gelir aşağıdakileri kullanabilirsiniz

0 Şimdi

bu

style="@style/buttonStyle" 

son kodu gibi düzen XML (mainactivity.xml) bu çağırır:

<Button 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="15dp" 
android:text="@string/edit" 
android:id="@+id/btnEdit" 
android:background="@drawable/button.xml" 
style="@style/buttonStyle" 
/> 

Umut bu yardımcı olur :)

+0

ebeveyni olarak tanımlanan bu, doğru cevap . Ancak yine de, Google'ın, düğme için küresel bir tema oluşturmaya daha tutarlı bir yol sağlamadığına inanamıyorum. Semantik olarak bu yanlıştır. Varsayılan temayı değiştirmemize izin vermek yerine elle bir arka plan ve stil belirtmeliyiz. – Juanjo

+0

Bunu denedim, her şey textColor dışında çalışır. Sadece beyaz rengi miras almaz, siyahı gösterir. Diğerleri stil ve arka plandan doğru şekilde miras alınır. Aynı özelliği, düğme örneğinde açıkça ayarladığımda, çalışır. Tuhaf. –

İlgili konular