मैं एंड्रॉइड एप्लिकेशन के सभी बटन पर एक शैली कैसे लागू करूं


131

मेरे पास अपने पूरे आवेदन के लिए एक शैली है:

AndroidManifest.xml:

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

और मेरी शैलियों में। xml:

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

लेकिन शैली लागू नहीं होती है।

मुझे खेद है कि अगर मैंने सिर्फ झूठे नाम का इस्तेमाल किया है ApplicationStyle- Itemलेकिन मुझे कोई सुराग नहीं है कि वस्तु के नाम कहां देखें और बस मान लिया जाए, जो android:buttonसभी बटन पर लागू होता है।


1
कृपया मेरा उत्तर पर एक नज़र डालें पर stackoverflow.com/a/26625931/1065835
Maksim Dmitriev

जवाबों:


206

एंड्रॉइड शैलियों के लिए, आप प्रीसेट विशेषताओं का संदर्भ देते हैं जो एंड्रॉइड ने रखी है R.attr। इस मामले में, ऐसा लगता है कि आप संदर्भ लेना चाहते हैं android:buttonStyle। मुझे लगता है कि यह काम करेगा:

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

1
भगवान, मैं उम्र के लिए इस तरह की कार्यक्षमता की तलाश कर रहा था। पता नहीं क्यों बटन 'textColor मुख्य विषय की textColor संपत्ति का पालन नहीं करता है। बहुत धन्यवाद!
फेनिक्स वोल्टास

कोई भी स्पिनर के लिए यह कैसे करना है?
माइक ६६

31
बस एक ध्यान दें: यदि CKButton शैली विरासत में नहीं मिलती है @android: style / Widget.Button, बटन काम करना बंद कर देगा।
जेम्स

9
क्या बीच का अंतर है parent="android:Widget.Button"और parent=@android:style/Widget.Button?
बग्स हैपन

लेआउट एडिटर थीम में निर्धारित बटन शैली के अनुसार बदलावों का पूर्वावलोकन क्यों नहीं करता है
किलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.