2012-03-20 16 views
22

मैं इस समस्या, ट्रेस ढेर देखना है जब मैं उपयोग कर रहा हूँका उपयोग drawable संसाधनों

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <bitmap android:src="@drawable/btn_1"/> 
    </item> 
</layer-list> 

btn_1 drawable संसाधनों में एक और xml फ़ाइल है:

E/AndroidRuntime(2410): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #5: <bitmap> requires a valid src attribute 

मेरे xml फ़ाइल की तरह दिखता है एक्सएमएल ड्रॉइंग के बजाय एक छवि (*। png) यह ठीक है।

क्या मैं एक ड्रॉइंग संसाधन का उपयोग बिटमैप में स्रोत के रूप में कर सकता हूं? बस यहां मेरी btn_1.xml फ़ाइल है। यह काम नहीं करता है भले ही btn_1 फ़ाइल में कोई आइटम न हो।

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
<item android:drawable="@drawable/btn_arrow_bg_red"/> 
<item> 
    <bitmap 
     android:gravity="center" 
     android:src="@drawable/btn_arrow_white" /> 
</item> 
</layer-list> 
+0

tHX:

<item android:drawable="@drawable/image" /> 
बजाय

। लेकिन हम्म। मुझे क्या करना चाहिए? मुझे एक ड्रॉइंग एक्सएमएल संसाधन को दूसरे से ऊपर रखना होगा, लेकिन मेरा संसाधन स्केलिंग कर रहा है ... मुझे एक्सएमएल ड्रॉबल संसाधन स्केल करने से बचने के लिए क्या करना चाहिए? और में कोई गुरुत्वाकर्षण पैरामीटर नहीं है ... –

उत्तर

22

आप नहीं कर सकते एक एक्सएमएल drawable बिटमैप के लिए स्रोत के रूप में की है। क्योंकि उदाहरण के लिए यदि यह संभव था, तो यह गलती से एक्सएमएल को कॉल करके ब्लैक-होल बना सकता था।

मान लीजिए की सुविधा देता है, तो आप एक xml drawable एक जो एक बिटमैप है कौन स्रोत drawable बी है। लेकिन खींचने योग्य बी में, इसमें एक बिटमैप है जो स्रोत खींचने योग्य है । यह एक गोलाकार पाश बना देगा जिसे हल नहीं किया जा सकता है। बाइनरी एक्सएमएल फ़ाइल लाइन #XXX: यही कारण है कि आप एक स्रोत के रूप में एक छवि प्रदान करने के लिए बिटमैप किसी भी भ्रम से बचने के लिए

+0

इस वकास के लिए धन्यवाद, मेरे पास एक ही प्रश्न है (लेकिन यह विलय नहीं हुआ क्योंकि इसे उत्तर के रूप में चिह्नित किया गया है) - लेकिन मैं समाधान के लिए पूछ रहा हूं: http: // stackoverflow। कॉम/प्रश्न/100558 9 2/रोकथाम-आकार-स्केलिंग-इन-ए-लेयरलिस्ट-साथ-बिना-बिना-उपयोग-बिटमैप – ataulm

+10

@waqaslam, आपका उत्तर सही है: आपके पास बिटमैप के स्रोत के रूप में कोई एक्सएमएल ड्रॉबल नहीं हो सकता टैग। मुझे जो भ्रमित लगता है वह आपकी व्याख्या है: XML संसाधनों का संदर्भ देते समय परिपत्र संदर्भ किसी भी संदर्भ में हो सकता है। ऐसा लगता है कि यह फ्रेमवर्क –

31

त्रुटि से बचने के की जरूरत है एक वैध src विशेषता

एक परत-सूची के अंदर, उपयोग की आवश्यकता है:

<item> 
    <bitmap android:src="@drawable/image"/> 
</item> 
+6

में एक डिजाइन बाधा है लेकिन अगर मुझे टाइलोडोड की आवश्यकता है तो क्या होगा? – Gudin

+7

हां, क्या होगा यदि मुझे टाइलमोड, टिंट, या बिटमैप पर कई अन्य विशेषताओं की आवश्यकता है ...? –

+0

यह मेरे लिए असली समाधान है !! –

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