2016-03-05 5 views
20

टूलबार में नए वेक्टर ड्रायबल का उपयोग करने के लिए उचित तरीका क्या है?मैं एंड्रॉइड टूलबार के साथ वेक्टर ड्रावेबल का उपयोग कैसे कर सकता हूं?

मैंने नीचे दिए गए अनुसार app:srcCompat तत्व का उपयोग करने की कोशिश की, लेकिन कुछ भी दिखाई नहीं दिया।

<menu 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto"> 
    <item 
    app:srcCompat="@drawable/ic_clear" 
    app:showAsAction="ifRoom" /> 
</menu> 

मैं जेबी (16) पर अपने खुद के उपकरण पट्टी लेआउट android.support.v7.widget.Toolbar का उपयोग करने और Android समर्थन लाइब्रेरी v23.2 है।

+0

आप रनटाइम – vigilancer

+0

@Vigilancer पर MenuItem.setIcon() को आजमा सकते हैं, आपकी टिप्पणी ने मुझे सही रास्ते पर रखा है और यह काम करता है। एक छोटे से स्निपेट के साथ एक असली जवाब बनाओ और मैं इसे एक उत्तर के रूप में स्वीकार करूंगा। – vwrynn

उत्तर

27

बाहर निकलना यह काफी आसान है। कहें, आपके पास वेक्टर ड्रायबल vd_trash_24dp है।

मेनू का वर्णन करना कोई भी android:icon के साथ सीधे वेक्टर ड्रावेबल को संबोधित नहीं कर सकता है। ऐसा लगता है कि app:srcCompat भी अनदेखा कर रहा है।

लेकिन। all we know के रूप में;)

AppCompat समर्थन लोड हो रहा है वेक्टर ड्रॉएबल करता है जब वे इस तरह के एक StateListDrawable, InsetDrawable, LayerDrawable, LevelListDrawable, और RotateDrawable

की कोशिश करते हैं, ऐसा करना चाहिए के रूप में एक और drawable कंटेनर में संदर्भित कर रहे हैं हम?

से

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     xmlns:tools="http://schemas.android.com/tools"> 
    <item android:id="@+id/menu_action_filter" 
      android:title="@string/menu_action_filter" 
      android:icon="@drawable/vd_test_vd" 
      android:orderInCategory="100" 
      app:showAsAction="always"/> 
</menu> 

सड़क जादू वास्तव में StateListDrawable vd_test_vd

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

</selector> 

बनाएँ।

हां, कोई भी MenuItem.setIcon() के साथ रनटाइम पर कोशिश करने और सेट करने योग्य सेट कर सकता है। लेकिन उसे उस% की आवश्यकता है)

+0

ऐप समर्थन लाइब्रेरी पर क्रैश हो रहा है 24.1.1 – PYPL

+4

ऐसा लगता है कि यह अब काम कर रहा है (24.2.1 में सत्यापित) 'स्टेटलिस्ट ड्रेवेबल' fyi –

+0

धन्यवाद! वह बहुत आसान आया! – inteist

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

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