एंड्रॉइड सपोर्ट लाइब्रेरी (23.2) का नवीनतम संस्करण वेक्टर ड्रॉबल्स के लिए समर्थन जोड़ता है। ऐसा लगता है कि वे प्लेटफार्मों पर फ्लाई पर वैक्टरों को रास्टराइज करके ऐसा करते हैं जो वेक्टर ड्रॉबल्स का मूल रूप से समर्थन नहीं करते हैं।एंड्रॉइड सपोर्ट लाइब्रेरी 23.2 वेक्टर ड्रॉबल्स धुंधले हैं
हालांकि, रास्टरराइज छवि एक निश्चित आकार के रूप में प्रतीत होती है जो उपयोग पर निर्भर करती है। यहां एक उदाहरण दिया गया है।
वेक्टर
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zm0,3c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zm0,14.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z"/>
</vector>
लेआउट
<ImageView
android:layout_width="128dp"
android:layout_height="128dp"
android:id="@+id/imageView"
app:srcCompat="@drawable/vector1"/>
वेक्टर 24dp एक्स 24dp है। इसका उपयोग एक छवि दृश्य में किया गया है जो 128 डीपी x 128 डीपी है। प्लेटफॉर्म पर वेक्टर ड्रॉबल्स का समर्थन नहीं करते हैं, परिणामी छवि धुंधली होती है क्योंकि वेक्टर 16 डीपी पर रास्टरराइज किया जाता है और 128 डीपी का आकार बदलता है।
मुझे मिला एकमात्र समाधान प्रत्येक इच्छित आकार के लिए एक अलग वेक्टर खींचने योग्य बनाना है। केवल ऊंचाई और चौड़ाई परिवर्तन के साथ डुप्लिकेट वैक्टर का एक गुच्छा बनाने के लिए यह बहुत परेशान है। और यदि आप fill_parent को आकर्षित करने योग्य या किसी अन्य तरीके से गतिशील रूप से आकार देने की इच्छा रखते हैं तो यह समस्या हल नहीं करता है।
उन्नत में अपने वेक्टर छवियों के आयामों को परिभाषित करने के लिए लगभग पूरी तरह से वैक्टर का उपयोग करने के लाभ को पूरी तरह से हरा देता है।
क्या किसी के पास कोई सच्चा काम है?
धन्यवाद, मैंने जेनरेटेडेंसिटी हिस्से को जोड़ने के लिए उपेक्षित किया और मुझे यह नहीं पता था कि सभी ग्रेडल छवियों को रास्टराइज कर सकते हैं। – Ben