2013-06-19 9 views
5

मैं अपने ऐप में अपने बटन के सभी टेक्स्ट कोलर को सफेद में बदलने और इसे बोल्ड करने की कोशिश करने की कोशिश कर रहा हूं। लेकिन ऐसा नहीं हो रहा है, मैं the android:Widget.Button ओवरराइट कर रहा हूं मैं जेली बीन के लिए विकास कर रहा हूं 4.1.2 मैं क्या गलत कर रहा हूं? प्रकटपूरे एप्लिकेशन में बटन शैली बदलना

android:theme="@style/spui" > 

विषय जहाँ मैं

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

के लिए बटन ही

<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> 
के लिए शैली की तरह में

विषय परिभाषा 210

बटन

<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

कोशिश हर उस शैली लागू करने के लिए बटन। वह काम करेगा। – SKK

+0

यदि आप इस विषय को एप्लिकेशन में लागू कर रहे हैं, तो सुनिश्चित करें कि आप गतिविधि या बटन के लिए कोई अन्य आवेदन नहीं कर रहे हैं। –

+0

बटन में स्वयं की कोई अन्य शैली नहीं है – mXX

उत्तर

15

स्टाइल आपके Button आप इस का उपयोग कर सकते के लिए: drawable फ़ोल्डर में

जाओ और एक XML करती हैं (उदा जो निम्नलिखित शामिल button.xml) फ़ाइल "शैली" कहा जाता है:

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

यह मेरा कोड है, तो आप आप

चाहते अब अपने लेआउट एक्सएमएल (mainactivity.xml) इस

की तरह में इसे कहते आवश्यक परिवर्तन कर सकता है
android:background="@drawable/button.xml" 

अब फ़ॉन्ट रंग बदलने के लिए और शैली आप जिसके बाद मूल्यों फ़ोल्डर में styles.xml के हिस्से के रूप आता है का उपयोग कर सकते

<style name="buttonStyle" parent="@android:style/Widget.Button.Small"> 
    <item name="android:textColor">#FFFFFF</item> 
    <item name="android:textSize">12sp</item> 
    <item name="android:textStyle">bold</item> 
</style> 

अब लेआउट एक्सएमएल (mainactivity.xml) इस

style="@style/buttonStyle" 

अंतिम कोड की तरह में यह कहते हैं:

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

आशा इस मदद करता है :)

+0

यह सही उत्तर है । लेकिन अभी भी विश्वास नहीं कर सकता कि Google ने बटन के लिए वैश्विक थीम बनाने के लिए एक और अधिक सुसंगत तरीका प्रदान नहीं किया है। अर्थात् यह गलत है। हमें डिफ़ॉल्ट थीम को संशोधित करने की बजाय हमें पृष्ठभूमि और शैली को मैन्युअल रूप से निर्दिष्ट करना होगा। – Juanjo

+0

मैंने यह कोशिश की है, पाठक को छोड़कर सबकुछ काम करता है। यह सिर्फ सफेद रंग का वारिस नहीं करता है लेकिन काला दिखाता है। अन्य सभी शैली और पृष्ठभूमि से सही ढंग से विरासत में हैं। यदि मैंने बटन प्रॉपर्टी पर स्पष्ट रूप से वही संपत्ति सेट की है, तो यह काम करता है। अजीब। –

संबंधित मुद्दे