2015-02-10 8 views
21

मैं गूगल आईओ अनुसूची एप्लिकेशन स्रोत (https://github.com/google/iosched) अर्थात्selectableItemBackground परत-सूची में आइटम के रूप में

selected_navdrawer_item_background.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/backgroundColor"> 
     <shape> 
      <solid android:color="#12000000" /> 
     </shape> 
    </item> 
    <item android:drawable="?android:selectableItemBackground"/> 
</layer-list> 

से एक फ़ाइल की प्रतिलिपि कर मैं उजागर करने के लिए इस का उपयोग करना चाहते नेविगेशन ड्रावर में वर्तमान में चयनित आइटम। मेरी समस्या यह है कि, जब मैं अपना ऐप लॉन्च करता हूं, तो यह अपवाद फेंकता है।

यह मुझे लगता है कि यह महत्वपूर्ण रेखा है।

caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #22: 
<item> tag requires a 'drawable' attribute or child tag defining a drawable 

रेखा # 22 इस एक

<item android:drawable="?android:selectableItemBackground"/> 

मैं समस्या क्या है पता नहीं है है, मैं इसे समायोजित किए बिना स्रोत से इस पर कॉपी। यह उनके ऐप में ठीक काम कर रहा है।

मैंने ?android:selectableItemBackground को ?attr/selectableItemBackground बदलने की कोशिश की, लेकिन यह मुझे एक ही अपवाद देता है। मुझे कोई अन्य सुझाए गए समाधान नहीं मिल रहे हैं।

यदि कोई जानता है कि इसका क्या कारण है, तो कृपया मेरी मदद करें।

+0

आप Appcompat पुस्तकालय का उपयोग करें? –

+0

मैंने अब इसका परीक्षण नहीं किया है, लेकिन मुझे लगता है कि इसे एक वर्कअराउंड के रूप में उपयोग किया जा सकता है। http://stackoverflow.com/questions/26686250/material-effect-on-button-with-background-color – SnyersK

+0

मैंने इसका परीक्षण किया और यह मेरी परियोजना में एक आकर्षण की तरह काम करता है। –

उत्तर

16

यह एपीआई v21 से काम करता है। तो, आप आगे बढ़ सकते हैं और एंड्रॉइड लॉलीपॉप और नए वाले उपकरणों पर इसका उपयोग कर सकते हैं। यदि आप पुराने सिस्टम संस्करणों का समर्थन करना चाहते हैं तो आप इस xml को ड्रॉबल-v21 फ़ोल्डर में डाल सकते हैं और उसी नाम के साथ ड्रायबल फ़ोल्डर में नया एक्सएमएल तैयार कर सकते हैं। उदाहरण के लिए:

drawable/selected_navdrawer_item_background.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#12000000" /> 
</shape> 

गूगल आईओ ऐप्लिकेशन एक ही बात: here is file from drawable folder और here is file from drawable-v21 folder

+0

कोई विचार नहीं कि यह उत्तर नकारात्मक क्यों था (मैंने इसे ऊपर रखा), क्योंकि यह पूरी तरह मान्य है। धन्यवाद! – NightSkyDev

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