2012-01-10 14 views
5

एंड्रॉयड प्रलेखन, एंड्रॉयड के अनुसार: startColor एक मूल्य के रूप में विशेषताओं ले जा सकते हैं:एंड्रॉइड में थीम एट्रिब्यूट कैसे जोड़ें: एंड्रॉइड में ग्रेडिएंट ड्रायबल में स्टार्ट कलर?

यह भी एक संसाधन के लिए एक संदर्भ हो सकता है (प्रपत्र में "@ [पैकेज:] के प्रकार: नाम") या विषय विशेषता (फॉर्म "में? [पैकेज:] [टाइप:] नाम") जिसमें इस प्रकार का मान होता है।

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

<style name="test" parent="android:Theme"> 
    <item name="android:startColor">#0b2749</item> 
    <item name="startColor">#0b2749</item> 
</style> 

:

यहाँ style.xml में कोड है: यहाँ drawable के लिए कोड है

01-10 20:47:30.810: E/AndroidRuntime(7279): Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 

मैंने बदलने की कोशिश की? StartColor to? Attr/startcolor & अभी भी एक ही त्रुटि मिली है। मैंने AndroidManifest.xml फ़ाइल में गतिविधि को विषय भी लागू किया।

मैं ग्रेडिएंट को आकर्षित करने के लिए थीम विशेषता कैसे जोड़ सकता हूं?

+0

एंड्रॉइड के साथ यहां एक ही समस्या: स्ट्रोक तत्व पर रंग। वास्तव में, ऐसा लगता है कि जब भी हम एक ड्रायबल से स्टाइल एट्रिब्यूट को संदर्भित करने का प्रयास करते हैं तो यह अपवाद होता है। यह एक एंड्रॉइड बग की तरह दिखता है। – Guillaume

+0

मुझे एक वर्कअराउंड मिला जो आपके लिए काम कर सकता है, मेरा उत्तर – Guillaume

उत्तर

-1

ऐसा लगता है कि आपने अभी अपने रंग के लिए एक छोटी सी गलती की है। एंड्रॉइड #[alpha] [hex] रंगों के लिए इनपुट प्रकार लेता है। आपने अभी हेक्स भाग प्रदान किया है। एंड्रॉइड इसका समर्थन नहीं करता है, इसलिए UnsupportedOperationException

इस प्रयोग करके देखें:

<item name="android:startColor">#FF0b2749</item>

मैं गारंटी नहीं दे सकते कि इस हालांकि काम करता है, के रूप में मैं एक शैली के साथ संयोजन में ढ़ाल के साथ काम नहीं किया है।

+0

देखें वास्तव में एंड्रॉइड अल्फा मान के बिना रंगों का समर्थन करता है। उसी दस्तावेज़ीकरण के अनुसार: "#rgb", "#argb", "#rrggbb", या "#aarrggbb" के रूप में रंग मान होना चाहिए। –

+0

हम्म। जितना अधिक आप जानते हैं। कुछ समय पहले इस समस्या के साथ समस्याएं थीं जब तक कि मैंने अल्फा जोड़ा लेकिन यह जानने के लिए अच्छा है कि यह बिना काम करता है। –

+0

यह समस्या का समाधान नहीं करता है, हालांकि: अल्फा मान के साथ या उसके बिना, एक ही अपवाद होता है – Guillaume

0
<style name="customTheme" parent="android:Theme"> 
    <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item> 
</style> 

मूल्यों फ़ोल्डर में colors.xml में उपरोक्त कोड और styles.xml में निम्न कोड जोड़ें

<color name="titlebackgroundcolor">#FFFFFF</color> 
<color name="titletextcolor">#000000</color> 
+0

कोड अस्पष्ट है। क्या आप इसे प्रारूपित करेंगे ताकि मैं इसका परीक्षण कर सकूं। –

+0

बस शैली और आइटम पर < and > टैग जोड़ने, मैं इसे नहीं डाल सकता है के रूप में यह पाठ अदृश्य –

+0

बना रही थी <शैली नाम = "customTheme" जनक = "एंड्रॉयड: थीम"> नाम = "एंड्रॉयड: windowTitleBackgroundStyle" @style/WindowTitleBackground मूल्यों फ़ोल्डर में colors.xml में उपरोक्त कोड और styles.xml <रंग नाम = "titlebackgroundcolor"> में निम्न कोड #FFFFFF <रंग नाम = "titletextcolor"> जोड़ें # 000000 –

3

मैं अपने drawable में से एक में एक ही समस्या है, जिसमें मैं अलग अलग रंग चाहते हो रही थी चुने हुए विषय के आधार पर। मुझे एक कामकाज मिला, जो वास्तव में समस्या को हल नहीं करता है, लेकिन मेरे लिए काम करता है। मेरी शैलियों में रंग को परिभाषित करने के बजाय, मैं पूरे संदर्भ को संदर्भ के रूप में परिभाषित करता हूं।

attrs.xml में:

<resources> 
    <attr name="myDrawable" format="reference"/> 
<resources> 

और मेरे style.xml में:

<style name="style1"> 
    <item name="myDrawable">@drawable/myDrawable1</item> 
<style> 
<style name="style2"> 
    <item name="myDrawable">@drawable/myDrawable2</item> 
<style> 

बेशक, आप दो ड्रॉएबल अपने drawable फ़ोल्डर, myDrawable1 और myDrawable2 में, हर एक सही रंग होने परिभाषित करने की जरूरत हार्ड कोडित।

और यह ठीक काम करता है।

+0

धन्यवाद। मुझे इस समाधान के बारे में पता है, और कारण यह है कि मैं अपने अनुप्रयोग में जो ड्रॉबल्स की संख्या को कम करने के लिए गुणों के माध्यम से हल करना चाहता था, क्योंकि यह पहले से ही बहुत अधिक है। –

+0

हां मुझे एक ही चिंता है, इसलिए मैं इसे केवल एक कामकाज कहता हूं। मुझे अभी भी एक असली समाधान खोजने में दिलचस्पी है, हालांकि मुझे संदेह करना शुरू हो गया है कि यह एक जैसा है, यह एंड्रॉइड बग, या फीचर की तरह अधिक से अधिक लगता है ... – Guillaume

+0

इसके अलावा, तथ्य यह है कि हमारे पास ड्रॉइंग में उपफोल्डर्स नहीं हो सकते फ़ोल्डर मध्यम से बड़ी परियोजनाओं के लिए दर्द है (मेरे पास मेरी परियोजनाओं में से एक में 5000+ आइटम हैं ...) – Guillaume

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