আমি আমার অ্যান্ড্রয়েড অ্যাপে ভেক্টর ড্রয়াবল ব্যবহার করার চেষ্টা করছি। থেকে http://developer.android.com/training/material/drawables.html (জোর খনি):
অ্যান্ড্রয়েড 5.0 (এপিআই স্তর 21) এবং তারপরে, আপনি ভেক্টর ড্রয়াবল সংজ্ঞা দিতে পারেন, কোন সংজ্ঞা হারানো ছাড়াই স্কেল scale
এই অঙ্কনযোগ্য ব্যবহার:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:height="24dp"
android:width="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path android:fillColor="@color/colorPrimary" android:pathData="M14,20A2,2 0 0,1 12,22A2,2 0 0,1 10,20H14M12,2A1,1 0 0,1 13,3V4.08C15.84,4.56 18,7.03 18,10V16L21,19H3L6,16V10C6,7.03 8.16,4.56 11,4.08V3A1,1 0 0,1 12,2Z" />
এবং এই চিত্র দেখুন:
<ImageView
android:layout_width="400dp"
android:layout_height="400dp"
android:src="@drawable/icon_bell"/>
400dp এ আইকনটি প্রদর্শনের চেষ্টা করার সময় এই অস্পষ্ট চিত্রটি উত্পন্ন করে (লরিপপ চলমান একটি লম্বা উচ্চ রেজাল্ট সার্কায় 2015 মোবাইল ডিভাইস):
ভেক্টরের অঙ্কনযোগ্য 200 ডিপি হিসাবে সংজ্ঞা প্রস্থ এবং উচ্চতা পরিবর্তন 400dp রেন্ডার আকারে পরিস্থিতি উল্লেখযোগ্যভাবে উন্নতি করে। যাইহোক, এটি একটি টেক্সটভিউ উপাদানটির জন্য অঙ্কনযোগ্য হিসাবে সেট করা (যেমন পাঠ্যের বাম দিকে আইকন) এখন একটি বিশাল আইকন তৈরি করে।
আমার প্রশ্নগুলো:
1) কেন ভেক্টর আঁকতে পারে প্রস্থ / উচ্চতার স্পেসিফিকেশন? আমি ভেবেছিলাম এগুলির পুরো বিন্দুটি হ'ল তারা এটিকে সংজ্ঞা ছাড়াই প্রস্থ এবং উচ্চতাকে অর্থহীন করে স্কেল করে নিচে নামায়?
2) এমন কোনও একক ভেক্টর অঙ্কনযোগ্য যা টেক্সটভিউতে 24 ডিপি অঙ্কনযোগ্য হিসাবে কাজ করে তবে তত বৃহত্তর চিত্রগুলিও ব্যবহার করতে ভাল আঁকতে পারে? উদাহরণস্বরূপ, আমি কীভাবে বিভিন্ন আকারের একাধিক ভেক্টর ড্রয়াবল তৈরি করা এড়াতে পারি এবং এর পরিবর্তে আমার রেন্ডার প্রয়োজনীয়তার জন্য কোন স্কেল ব্যবহার করব?
3) আমি কীভাবে প্রস্থ / উচ্চতার বৈশিষ্ট্যগুলি কার্যকরভাবে ব্যবহার করব এবং ভিউপোর্টউইথ / উচ্চতার সাথে পার্থক্য কী?
অতিরিক্ত তথ্য:
- ডিভাইসটি এপিআই 22 চালাচ্ছে
- গ্রেডল সংস্করণ 1.5.0.0 সহ অ্যান্ড্রয়েড স্টুডিও v1.5.1 ব্যবহার করা
- ম্যানিফেস্টটি সংকলন এবং লক্ষ্য স্তর 23, মিনিট স্তর 15. আমি নূন্যতম স্তরটি 21-এ স্থানান্তরিত করার চেষ্টাও করেছি, তবে এতে কোনও পার্থক্য হয়নি।
- APK ডিকম্পলিং (কমপক্ষে 21 টি সেট স্তর সহ) অঙ্কনযোগ্য ফোল্ডারে একটি একক এক্সএমএল সংস্থান দেখায়। কোনও রাস্টারযুক্ত চিত্র তৈরি করা হয় না are
New -> Vector Asset
করি তখন এটি আমার অঙ্কনযোগ্য ফোল্ডারে ভেক্টর চিত্র XML টি ফেলে। তবে আমি যদি APK টি তৈরি হয়ে যায় তবে আনপ্যাক করার জন্য যদি আমি apktool ব্যবহার করি তবে আমি দেখতে পাচ্ছি যে এক্সএমএল ফাইলগুলি রয়েছে এবংdrawable-anydpi-v21
API 21+ ডিভাইসে সঠিকভাবে স্কেল করা হয়েছে। রাস্টার ফাইলগুলিdrawable-<mdpi/hdpi/etc>-v4
ফোল্ডারগুলিতে স্থাপন করা হয় এবং এপিআই 21+ ডিভাইসে ব্যবহৃত হয় না (তারা সঠিকভাবে স্কেল করে এমন ভিত্তিতে)