সম্পাদিত সমাধান যা আপনার স্প্ল্যাশস্ক্রিনকে API21 থেকে API23 সহ সমস্ত API- তে দুর্দান্ত দেখায়
সবার আগে এই নিবন্ধটি পড়ুন এবং একটি স্প্ল্যাশ স্ক্রিন তৈরি করার ভাল উপায় অনুসরণ করুন।
যদি আপনার লোগোটি বিকৃত হয় বা মানানসই হয় না এবং আপনি কেবলমাত্র APIs24 + কে টার্গেট করছেন তবে আপনি কেবল নিজের ভেক্টরকে এটির মতো এক্সএমএল ফাইলে অঙ্কন করতে পারবেন:
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
android:viewportWidth="640"
android:viewportHeight="640"
android:width="240dp"
android:height="240dp">
<path
android:pathData="M320.96 55.9L477.14 345L161.67 345L320.96 55.9Z"
android:strokeColor="#292929"
android:strokeWidth="24" />
</vector>
উপরের কোডটিতে আমি একটি অঙ্কনযোগ্যকে উদ্ধার করছি আমি একটি 640x640 ক্যানভাসে 240x240 হতে আঁকলাম। তারপরে আমি এটিকে ঠিক আমার স্প্ল্যাশ স্ক্রিনে আঁকতে সক্ষম করে রেখেছি এবং এটি দুর্দান্ত কাজ করে:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque"
android:paddingBottom="20dp" android:paddingRight="20dp" android:paddingLeft="20dp" android:paddingTop="20dp">
<item>
<shape>
<size android:height="120dp" android:width="120dp"/>
<solid android:color="@android:color/white"/>
</shape>
</item>
<item
android:drawable="@drawable/logo_vect"
android:gravity="center">
</item>
</layer-list>
আমার কোডটি আসলে নীচে কেবলমাত্র ত্রিভুজটি অঙ্কন করছে তবে এখানে আপনি এটি দিয়ে কী অর্জন করতে পারবেন তা দেখুন। বিটম্যাপ ব্যবহার করার সময় আমি যে পিক্সেলিটেড কিনারা পেয়েছিলাম তার বিপরীতে রেজোলিউশন অবশেষে দুর্দান্ত। সুতরাং সব উপায়ে একটি ভেক্টর ড্রয়িং ব্যবহার করুন (সেখানে ভেক্টর নামক একটি সাইট রয়েছে যা আমি বিশেষায়িত সফ্টওয়্যার ডাউনলোডের হোল ছাড়াই খনি তৈরির জন্য ব্যবহার করতাম)।
এটি এডিআই 21-22-23 এও কাজ করতে যাতে সম্পাদনা করুন
যদিও উপরের সমাধানটি API24 চালিত ডিভাইসের জন্য কাজ করে + আমার অ্যাপ্লিকেশনটি এপিআই 22 চালিত একটি ডিভাইস ইনস্টল করার পরে আমি সত্যিই হতাশ হয়েছি। আমি লক্ষ্য করেছি যে স্প্ল্যাশস্ক্রিন আবার পুরো ভিউটি পূরণ করার চেষ্টা করছে এবং ছিঁটে যাওয়ার মতো দেখাচ্ছে। আমার ভ্রুটি আধা দিনের জন্য ছিঁড়ে যাওয়ার পরে অবশেষে নিছক ইচ্ছাশক্তি দ্বারা সমাধান সমাধান করতে বাধ্য করলাম।
আপনাকে স্প্ল্যাশস্ক্রিন এক্সএমএলের মতো ঠিক একটি দ্বিতীয় ফাইল তৈরি করতে হবে (স্প্ল্যাশ_স্ক্রিন.এক্সএমএল বলতে দাও) এবং এটিকে 2 টি ফোল্ডারে অঙ্কনযোগ্য-ভি 22 এবং অঙ্কনযোগ্য-ভি 21 বলে স্থাপন করতে হবে যা আপনি পুনরায় / ফোল্ডারে তৈরি করবেন (সেগুলি দেখার জন্য) আপনার প্রকল্পের ভিউটি অ্যান্ড্রয়েড থেকে প্রজেক্টে পরিবর্তন করতে হবে)। এটি আপনার ফোনটিকে সেই ফোল্ডারে থাকা ফাইলগুলিতে পুনর্নির্দেশ করতে বলছে যখনই প্রাসঙ্গিক ডিভাইসটি অঙ্কনযোগ্য ফোল্ডারে -vXX প্রত্যয়ের সাথে সম্পর্কিত একটি API চালায়, এই লিঙ্কটি দেখুন । আপনি এই ফোল্ডারগুলিতে তৈরি স্প্ল্যাশ_স্ক্রিন.এক্সএমএল ফাইলের স্তর-তালিকায় নিম্নলিখিত কোডটি রাখুন:
<item>
<shape>
<size android:height="120dp" android:width="120dp"/>
<solid android:color="@android:color/white"/>
</shape>
</item>
<item android:gravity="center">
<bitmap android:gravity="center"
android:src="logo_vect"/>
</item>
এই API গুলিগুলির জন্য কোনও কারণে আপনাকে এটিকে কাজ করতে এবং চূড়ান্ত ফলাফলটি দেখতে একইরকম দেখতে জেট করার জন্য আপনার অঙ্কনটি একটি বিটম্যাপে গুটিয়ে রাখতে হবে। সমস্যাটি হ'ল আপনাকে অ্যাডিশনাল ড্রয়যোগ্য ফোল্ডারগুলির সাথে অ্যাপ্রোচটি ব্যবহার করতে হবে কারণ স্প্ল্যাশ_স্ক্রিন.এক্সএমএল ফাইলের দ্বিতীয় সংস্করণটি আপনার স্প্ল্যাশ স্ক্রিনটি 23-র বেশি ডিভাইস চলমান ডিভাইসে প্রদর্শিত হবে না lead স্প্র্যাশ_স্ক্রিন.এক্সএমএল এর প্রথম সংস্করণটি অ্যান্ড্রয়েড ডিফল্ট হিসাবে অ্যান্ড্রয়েডের ডিফল্ট হিসাবে অঙ্কনযোগ্য-ভি 24 এ সঞ্চার করতে পারে to