2012-10-21 13 views
24

मैं कुछ सीमाहीन छविबटन को कस्टमाइज़ करना चाहता हूं। कोड दोहराव से बचने के लिए, मैं styles.xml का उपयोग करें:शैलियों.एक्सएमएल का उत्तराधिकारी "? एंड्रॉइड: एटीआर/सीमा रहित बटनटन स्टाइल"?

<style name="EditNotesButton" parent="?android:attr/borderlessButtonStyle"> 
    <item name="android:layout_width">25dp</item> 
    <item name="android:layout_height">25dp</item> 
    <item name="android:scaleType">fitCenter</item> 
</style> 

हालांकि, निम्न त्रुटि फेंक दिया जाता है:

Error retrieving parent for item: No resource found that matches the given name '?android:attr/borderlessButtonStyle'. 

वहाँ borderlessButtonStyle वारिस के कोई तरीका है?

उत्तर

-4

सीमा रहित बटनटन केवल एपीआई स्तर 11 या उससे ऊपर के लिए उपलब्ध है।

+9

अभी भी उच्च एपीआई पर काम नहीं करता है, यह उत्तर गलत लगता है – Sergii

+1

aleung उत्तर काम कर रहा है, एस o यह उत्तर सही जानकारी नहीं है, बस अतिरिक्त जानकारी दे रहा है। – Seynorth

+2

कृपया स्वीकार करें http://stackoverflow.com/a/30965291/883738 –

1

मुझे लगता है कि आप इस तरह से वारिस नहीं कर सकते हैं। इसे आज़माएं:

<style name="EditNotesButton" parent="@android:style/Widget"> 
    <!-- This will cause borderless button --> 
    <item name="android:background">@android:drawable/list_selector_background</item> 
    ... 
</style> 
36

आप एक विशेषता का उत्तराधिकारी नहीं हो सकते हैं, आपको एक शैली का उत्तराधिकारी होना है।

एक बटन सीमाहीन शैली चुनें जो आपके विषय को उत्तराधिकारी से मेल खाता है। सभी एंड्रॉइड आंतरिक शैलियों http://developer.android.com/reference/android/R.style.html

उदाहरण के लिए, आपका एप्लिकेशन होलो लाइट थीम (AndroidManifest.xml में निर्दिष्ट) का उपयोग करता है, तो आपको विजेट का वारिस होना चाहिए। Holo.Light.Button.Borderless.Small शैली।

<style name="EditNotesButton" parent="@android:style/Widget.Holo.Light.Button.Borderless.Small"> 
    <item name="android:layout_width">25dp</item> 
    <item name="android:layout_height">25dp</item> 
    <item name="android:scaleType">fitCenter</item> 
</style> 
6

आप के बजाय 11 एपीआई के लिए और इसके बाद के संस्करण इस शैली का उपयोग कर सकते हैं:

<style name="EditNotesButton" parent="android:Widget.Holo.Button.Borderless" /> 
50

AppCompat के लिए, आप माता-पिता से विरासत शैली कर सकते हैं:

<style name="MyBordelessButtonStyle" parent="@style/Widget.AppCompat.Button.Borderless"> 
     <item name="android:textSize">@dimen/<your size></item> 
     <!-- other items here --> 
</style> 

source code

के आधार पर
+3

यह नवीनतम AppCompat का उपयोग करने के कारण स्वीकृत उत्तर होना चाहिए –

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