2014-07-12 9 views
8

मैं drawable फ़ोल्डर के अंदर एक xml में इस कोड है में बिटमैप: 2 राज्यों के साथ एक छवि के लिएचयनकर्ता, परत-सूची और आकार/एक ही एक्सएमएल

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_pressed="true"> 
     <layer-list> 
      <item> 
       <shape android:shape="rectangle"> 
        <size android:width="90dp" android:height="90dp" /> 

       <solid android:color="#9933CC" /> 
       </shape> 
      </item> 
      <item> 
       <bitmap android:gravity="center" android:src="@drawable/main_achievements_synthesis" /> 
      </item> 
     </layer-list> 
    </item> 
    <item> 
     <layer-list> 
      <item> 
       <shape android:shape="rectangle"> 
        <size android:width="90dp" android:height="90dp" /> 

        <solid android:color="#AA66CC" /> 
       </shape> 
      </item> 
      <item> 
       <bitmap android:gravity="center" android:src="@drawable/main_achievements_synthesis" /> 
      </item> 
     </layer-list> 
    </item> 

</selector> 

मैं इसका उपयोग (एक के रूप में उपयोग करने के लिए बटन)। सब कुछ एमुलेटर और उपकरणों पर अपेक्षित के रूप में काम करता है।

मुझे पता है कि मैं अलग-अलग ड्रॉबल एक्सएमएल बना सकता हूं और एक ही परिणाम प्राप्त करने के लिए एक संदर्भ बना सकता हूं।

मैंने अभी एंड्रॉइड स्टूडियो पर स्विच किया है और यह मुझे यह मैसेज दिखाता है: Element XXX is not allowed here। यह मुझे परत सूची और इसके अंदर के सभी टैग के बारे में चेतावनी देता है। हालांकि, जैसा कि मैंने कहा, यह कोड ठीक काम करता है।

क्या मुझे अपना कोड अलग-अलग एक्सएमएल में स्विच करना चाहिए (यह जानकर कि मैं केवल उन्हें एक बार उपयोग करूँगा) या एंड्रॉइड स्टूडियो इंस्पेक्टर कोड में "त्रुटि" है?

नोट: मुझे लगता है कि मेरा कोड अनुकूलित किया जा सकता है, लेकिन मुझे अभी तक पता नहीं चला है।

उत्तर

15

यह एंड्रॉइड स्टूडियो के लिटिंग टूल में एक त्रुटि है। कृपया https://code.google.com/p/android/issues/list पर एक बग फ़ाइल करें।

इसके अलावा, आप का उपयोग करके एक छोटे से अनुकूलन कर सकते हैं:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <selector> 
      <item android:state_pressed="true"> 
       <shape android:shape="rectangle"> 
        <size android:width="90dp" android:height="90dp" /> 
        <solid android:color="#9933CC" /> 
       </shape> 
      </item> 
      <item> 
       <shape android:shape="rectangle"> 
        <size android:width="90dp" android:height="90dp" /> 
        <solid android:color="#AA66CC" /> 
       </shape> 
      </item> 
     </selector> 
    </item> 
    <item> 
     <bitmap 
      android:gravity="center" 
      android:src="@drawable/main_achievements_synthesis" /> 
    </item> 
</layer-list> 
+0

मैं एक नया मुद्दा नहीं बनाया। मुझे लगता है कि मुझे एक समान वर्णन https://code.google.com/p/android/issues/detail?id=73194 मिला है – gian1200

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