অ্যান্ড্রয়েড স্প্ল্যাশ স্ক্রিন চিত্র মাপ সমস্ত ডিভাইস ফিট করতে


214

আমার একটি পূর্ণ স্ক্রিনের পিএনজি রয়েছে আমি স্প্ল্যাশে প্রদর্শন করতে চাই। কেবলমাত্র একটি ত্রুটি, এবং আমি কি কোন ধারণা আকার যে অঙ্কনযোগ্য ফোল্ডারে করতে হবে ( ldpi, mdpi, hdpi, এবং xhdpi)। আমার অ্যাপ্লিকেশনটি সমস্ত ফোন এবং ট্যাবলেটগুলিতে ভাল এবং সুন্দর চালানোর কথা। স্প্ল্যাশটি সমস্ত স্ক্রিনে দুর্দান্ত প্রদর্শিত হবে এমন কি আকারগুলি (পিক্সেলগুলিতে) তৈরি করা উচিত?



4
আমি একটি স্প্ল্যাশ স্ক্রিন তৈরি করতে চাই ...
arielschon12

1
@ এরিয়াবাডলোক এটি আরও গভীর হতে পারে তবে আমি আপনাকে নিশ্চিত করে বলতে পারি যে এটি প্রায় এক বছর দেরিতে পোস্ট হওয়ার পরে ওপি তার সমস্যার সাথে সহায়তা করতে পারেনি: পি
কীজার ২

6
হ্যাঁ, আমি নিশ্চিত যে এটি তাকে সাহায্য করেনি। উত্তরগুলি নিজেই বের করার চেষ্টা করার সময় এই বিষয়টি খুঁজে পেয়েছি এবং পিপিএলকে আমার পরে একই জিনিসটি যেতে সহায়তা করার জন্য আর একটি উত্তর পোস্ট করার সিদ্ধান্ত নিয়েছে।
লুকাস সেরো

আমি একই ধরণের প্রশ্নের উত্তর দিয়েছি স্ট্যাকওভারফ্লো.com
রমেশ কে

উত্তর:


394

দাবি পরিত্যাগী

এই উত্তরটি 2013 থেকে এবং মারাত্মকভাবে পুরানো। অ্যান্ড্রয়েড 3.2 হিসাবে এখন স্ক্রিন ঘনত্বের 6 টি গ্রুপ রয়েছে। আমি সক্ষম হবার সাথে সাথে এই উত্তরটি আপডেট হবে তবে কোনও ইটিএ ছাড়াই। এই মুহুর্তে সমস্ত ঘনত্বের জন্য অফিসিয়াল ডকুমেন্টেশন পড়ুন (যদিও নির্দিষ্ট পিক্সেল আকারের তথ্য সন্ধান করা সবসময় কঠিন)।

এখানে tl / dr সংস্করণ

  • 4 টি চিত্র তৈরি করুন, প্রতিটি পর্দার ঘনত্বের জন্য একটি:

    • xlarge (xhdpi): 640x960
    • বৃহত (এইচডিপিআই): 480x800
    • মাঝারি (এমডিপিআই): 320x480
    • ছোট (ldpi): 240x320
  • অ্যান্ড্রয়েড বিকাশকারী গাইডে 9-প্যাচের চিত্রের ভূমিকা পড়ুন

  • চিত্রগুলি এমন ডিজাইন করুন যেখানে এমন ফলাফল রয়েছে যা শেষ ফলাফলের সাথে আপস না করে নিরাপদে প্রসারিত হতে পারে

এটির সাহায্যে অ্যান্ড্রয়েড ডিভাইসের চিত্র ঘনত্বের জন্য উপযুক্ত ফাইলটি নির্বাচন করবে, তারপরে এটি 9-প্যাচের মান অনুযায়ী চিত্রটি প্রসারিত করবে।

টিএল এর শেষ; ড। সামনে সম্পূর্ণ পোস্ট

আমি প্রশ্নের নকশা-সম্পর্কিত দিকটি সম্পর্কে শ্রদ্ধার সাথে জবাব দিচ্ছি। আমি বিকাশকারী নই, তাই প্রদত্ত অনেকগুলি সমাধান বাস্তবায়নের জন্য কোড সরবরাহ করতে সক্ষম হবো না। হায়, আমার উদ্দেশ্য হ'ল ডিজাইনারদের সাহায্য করা যারা আমার প্রথম অ্যান্ড্রয়েড অ্যাপ বিকাশ করতে সাহায্য করার সময় আমার মতো হারিয়ে গিয়েছিল।

সমস্ত আকার মাপসই করা

অ্যান্ড্রয়েডের সাহায্যে সংস্থাগুলি তাদের মোবাইল ফোন এবং প্রায় যে কোনও আকারের টেবিলগুলি, তাদের পছন্দসই রেজোলিউশন বিকাশ করতে পারে। যার কারণে, কোনও স্প্ল্যাশ স্ক্রিনের জন্য কোনও "সঠিক চিত্রের আকার" নেই, কারণ কোনও স্থির স্ক্রিন রেজোলিউশন নেই। এটি স্প্ল্যাশ স্ক্রিনটি বাস্তবায়ন করতে চায় এমন লোকদের জন্য সমস্যা তৈরি করে।

আপনার ব্যবহারকারীরা কি সত্যিই একটি স্প্ল্যাশ স্ক্রিন দেখতে চান?

(একদিকে নোটে, স্প্ল্যাশ স্ক্রিনগুলি ব্যবহারযোগ্যতা লোকদের মধ্যে কিছুটা নিরুৎসাহিত করা হয়েছে ar যুক্তিযুক্ত যে ব্যবহারকারী ইতিমধ্যে জানে যে তিনি কোন অ্যাপটি ট্যাপ করেছিলেন এবং আপনার চিত্রটি একটি স্প্ল্যাশ স্ক্রিন সহ ব্র্যান্ড করা প্রয়োজনীয় নয়, কারণ এটি কেবল ব্যবহারকারীর অভিজ্ঞতাকে বাধা দেয়) একটি "বিজ্ঞাপন"। এটি অ্যাপ্লিকেশনগুলিতে ব্যবহার করা উচিত যা গেমস এবং এগুলি সহ প্রাথমিকভাবে (5 এস +) শুরু করার সময় কিছুটা যথেষ্ট লোডিংয়ের প্রয়োজন হয়, যাতে অ্যাপটি ক্র্যাশ হয়েছিল কিনা তা ভেবে ব্যবহারকারী আটকে না যায়)

পর্দার ঘনত্ব; 4 ক্লাস

সুতরাং, বাজারে ফোনে বিভিন্ন স্ক্রিন রেজোলিউশন দেওয়া, গুগল কিছু বিকল্প এবং নিফটি সমাধান কার্যকর করতে পারে যা সহায়তা করতে পারে। আপনার প্রথমে জানতে হবে অ্যান্ড্রয়েড সমস্ত স্ক্রিনকে 4 টি স্বতন্ত্র স্ক্রিন ঘনত্বগুলিতে পৃথক করে:

  1. নিম্ন ঘনত্ব (ldpi ~ 120dpi)
  2. মাঝারি ঘনত্ব (এমডিপিআই ~ 160 ডিপিআই)
  3. উচ্চ ঘনত্ব (এইচডিপিআই ~ 240 ডিপিআই)
  4. অতিরিক্ত-উচ্চ ঘনত্ব (xhdpi 20 320dpi) (এই ডিপিআই মানগুলি আনুমানিক, কারণ কাস্টম বিল্ট ডিভাইসগুলির পৃথক পৃথক ডিপিআই মান থাকবে)

আপনাকে (যদি আপনি ডিজাইনার হন) এর থেকে যা জানা দরকার তা হ'ল অ্যান্ড্রয়েড মূলত ডিভাইসের উপর নির্ভর করে প্রদর্শনের জন্য 4 টি চিত্র থেকে চয়ন করে। সুতরাং আপনাকে মূলত 4 টি আলাদা চিত্র ডিজাইন করতে হবে (যদিও আরও অনেকগুলি বিভিন্ন ফর্ম্যাটের জন্য যেমন ওয়াইডস্ক্রিন, প্রতিকৃতি / ল্যান্ডস্কেপ মোড ইত্যাদির জন্য বিকাশ করা যেতে পারে)।

এই বিষয়টি মনে রেখেই: আপনি অ্যান্ড্রয়েডে ব্যবহৃত প্রতিটি রেজোলিউশনের জন্য কোনও স্ক্রিন ডিজাইন না করলে আপনার চিত্রটি স্ক্রিনের আকারের সাথে প্রসারিত করবে। এবং যতক্ষণ না আপনার চিত্রটি মূলত গ্রেডিয়েন্ট বা অস্পষ্ট না হয় আপনি প্রসারিতের সাথে কিছুটা অনাকাঙ্ক্ষিত বিকৃতি পাবেন। সুতরাং আপনার কাছে মূলত দুটি বিকল্প রয়েছে: প্রতিটি পর্দার আকার / ঘনত্বের সংমিশ্রণের জন্য একটি চিত্র তৈরি করুন বা চারটি 9-প্যাচ চিত্র তৈরি করুন।

সবচেয়ে কঠিন সমাধানটি প্রতিটি একক রেজোলিউশনের জন্য আলাদা স্প্ল্যাশ স্ক্রিন ডিজাইন করা। আপনি এই পৃষ্ঠার শেষে টেবিলের রেজোলিউশনগুলি অনুসরণ করে শুরু করতে পারেন (আরও রয়েছে Example উদাহরণ: 960 x 720 সেখানে তালিকাভুক্ত নয়)। এবং ধরে নিচ্ছি যে আপনার কাছে চিত্রটিতে কিছু ছোট বিশদ রয়েছে যেমন ছোট পাঠ্য, আপনাকে প্রতিটি রেজোলিউশনের জন্য একাধিক স্ক্রিন ডিজাইন করতে হবে। উদাহরণস্বরূপ, একটি মাঝারি স্ক্রিনে প্রদর্শিত 480x800 চিত্রটি দেখতে ঠিক আছে, তবে একটি ছোট স্ক্রিনে (উচ্চ ঘনত্ব / ডিপিআই সহ) লোগোটি খুব ছোট হতে পারে বা কিছু পাঠ্য অপঠনযোগ্য হতে পারে।

9-প্যাচ চিত্র

অন্য সমাধানটি 9-প্যাচ চিত্র তৈরি করা । এটি মূলত আপনার চিত্রের চারপাশে 1 পিক্সেল-স্বচ্ছ-সীমানা এবং এই সীমানার উপরের এবং বাম অঞ্চলে কালো পিক্সেল অঙ্কন করে আপনি আপনার চিত্রের কোন অংশটি প্রসারিত করতে পারবেন তা নির্ধারণ করতে পারবেন। 9-প্যাচ চিত্রগুলি কীভাবে কাজ করে সে সম্পর্কে আমি বিশদে যাব না তবে সংক্ষেপে, উপরে এবং বাম অঞ্চলে চিহ্নিত পিক্সেলগুলি পিক্সেল যা চিত্রটি প্রসারিত করার জন্য পুনরাবৃত্তি হবে।

কয়েকটি স্থল নিয়ম

  1. আপনি এই চিত্রগুলি ফটোশপে তৈরি করতে পারেন (বা কোনও চিত্র সম্পাদনা সফ্টওয়্যার যা সঠিকভাবে স্বচ্ছ পিএনজি তৈরি করতে পারে)।
  2. 1 পিক্সেল সীমানাটি সম্পূর্ণ ট্রান্সপারেন্ট হতে হবে।
  3. 1-পিক্সেলের স্বচ্ছ সীমানাটি কেবল আপনার উপরের এবং বামে নয়, সমস্ত চিত্রের চারপাশে থাকতে হবে।
  4. আপনি এই অঞ্চলে কেবল কালো (# 000000) পিক্সেল আঁকতে পারেন।
  5. উপরের এবং বাম সীমানা (যা চিত্র প্রসারিতকে সংজ্ঞায়িত করে) কেবল একটি বিন্দু (1px x 1px), দুটি বিন্দু (1px x 1px উভয়) বা একটানা লাইন (প্রস্থ x 1px বা 1px x উচ্চতা) থাকতে পারে।
  6. আপনি যদি 2 টি বিন্দু ব্যবহার করতে চান তবে চিত্রটি আনুপাতিকভাবে প্রসারিত হবে (সুতরাং প্রতিটি বিন্দু চূড়ান্ত প্রস্থ / উচ্চতা অর্জন না হওয়া পর্যন্ত প্রসারিত প্রসারিত হবে)
  7. 1px সীমানাটি উদ্দেশ্য ভিত্তিক ফাইলের মাত্রা ছাড়াও থাকতে হবে। সুতরাং একটি 100x100 9-প্যাচ চিত্রটিতে আসলে 102x102 (উপরে, নীচে, বাম এবং ডানদিকে 100x100 + 1px) থাকতে হবে
  8. 9-প্যাচ চিত্রগুলি * .9.png দিয়ে শেষ করতে হবে

সুতরাং আপনি আপনার লোগোটির উভয় পাশে (শীর্ষ সীমানায়) 1 টি এবং তার উপরে এবং নীচে (বাম সীমান্তে) 1 ডট রাখতে পারেন এবং এই চিহ্নিত সারি এবং কলামগুলি প্রসারিত করার জন্য কেবল পিক্সেল হবে।

উদাহরণ

এখানে একটি 9-প্যাচ চিত্র, 102x102px (অ্যাপের উদ্দেশ্যে 100x100 চূড়ান্ত আকার):

9-প্যাচ চিত্র, 102x102px

এখানে একই চিত্রের 200% জুম রয়েছে:

একই চিত্র, স্বচ্ছতার জন্য 2x ম্যাগনিটিড

কোন সারি / কলামগুলি প্রসারিত হবে তা বলে উপরে এবং বামে 1px চিহ্নগুলি লক্ষ্য করুন।

অ্যাপ্লিকেশনটির ভিতরে 100x100 এ এই চিত্রটি কেমন হবে তা এখানে দেখুন:

100x100 তে রেন্ডার করা হয়েছে

460x140 এ প্রসারিত হলে এটি কী চায় তা এখানে রয়েছে:

460x140 তে রেন্ডার করা

একটি শেষ বিষয় বিবেচনা করা উচিত। এই চিত্রগুলি আপনার মনিটরের স্ক্রিনে এবং বেশিরভাগ মোবাইলে সূক্ষ্ম দেখতে পারে তবে ডিভাইসটির চিত্রের উচ্চ ঘনত্ব (ডিপিআই) থাকলে চিত্রটি খুব ছোট দেখাচ্ছে small সম্ভবত এখনও সুগঠিত, তবে 1920x1200 রেজোলিউশনের ট্যাবলেটে চিত্রটি মাঝখানে খুব ছোট বর্গ হিসাবে উপস্থিত হবে। তাহলে সমাধান কী? 4 টি আলাদা 9-প্যাচ লঞ্চের চিত্রগুলি ডিজাইন করুন, প্রতিটি আলাদা ঘনত্বের সেটের জন্য। কোনও সঙ্কোচন ঘটবে না তা নিশ্চিত করতে আপনার প্রতিটি ঘনত্বের বিভাগের জন্য সর্বনিম্ন সাধারণ রেজোলিউশনের নকশা করা উচিত। সঙ্কুচিত হওয়া এখানে অনাকাঙ্ক্ষিত কারণ 9-প্যাচ কেবল প্রসারিতের জন্য অ্যাকাউন্টস, সুতরাং সঙ্কুচিত প্রক্রিয়ায় ছোট পাঠ্য এবং অন্যান্য উপাদানগুলি স্বতন্ত্রতা হারাতে পারে।

প্রতিটি ঘনত্বের বিভাগের জন্য সবচেয়ে ছোট, সর্বাধিক সাধারণ রেজোলিউশনের তালিকা এখানে রয়েছে:

  • xlarge (xhdpi): 640x960
  • বৃহত (এইচডিপিআই): 480x800
  • মাঝারি (এমডিপিআই): 320x480
  • ছোট (ldpi): 240x320

সুতরাং উপরোক্ত রেজোলিউশনে চারটি স্প্ল্যাশ স্ক্রিন ডিজাইন করুন, চিত্রগুলি প্রসারিত করুন, ক্যানভাসের চারপাশে 1px স্বচ্ছ সীমানা স্থাপন করুন এবং কোন সারি / কলামগুলি প্রসারিত হবে তা চিহ্নিত করুন। মনে রাখবেন এই চিত্রগুলি ঘনত্ব বিভাগে যে কোনও ডিভাইসের জন্য ব্যবহৃত হবে , সুতরাং আপনার এলডিপিআই ইমেজ (240 x 320) ছোট ইমেজের ঘনত্ব (~ 120 ডিপিআই) সহ একটি অতিরিক্ত বড় ট্যাবলেটে 1024x600 পর্যন্ত প্রসারিত হতে পারে। সুতরাং 9-প্যাচ স্ট্র্যাচিংয়ের সেরা সমাধান, যতক্ষণ না আপনি একটি স্প্ল্যাশ স্ক্রিনের জন্য কোনও ফটো বা জটিল গ্রাফিক্স চান না (আপনি ডিজাইনটি তৈরি করার সাথে সাথে এই সীমাবদ্ধতার কথা মনে রাখবেন)।

আবার, এই প্রসারিত না হওয়ার একমাত্র উপায় হ'ল প্রতিটি রেজোলিউশন (বা প্রতিটি রেজোলিউশন-ডেনসিটির সংমিশ্রনের জন্য একটি, যদি আপনি উচ্চ / নিম্ন ঘনত্বের ডিভাইসে চিত্রগুলি খুব ছোট / বড় হওয়া এড়াতে চান) ডিজাইন করা বা বলুন চিত্রটি প্রসারিত না করার এবং একটি পটভূমির রঙ উপস্থিত না হওয়া যেখানেই প্রদর্শিত হবে (এছাড়াও মনে রাখবেন যে অ্যান্ড্রয়েড ইঞ্জিন দ্বারা রেন্ডার করা একটি নির্দিষ্ট রঙ সম্ভবত ফটোশপের দ্বারা রেন্ডার একই নির্দিষ্ট রঙের চেয়ে আলাদা দেখাবে, রঙ প্রোফাইলগুলির কারণে)।

আমি আশা করি এটি কোনও অর্থবোধ করেছে। শুভকামনা!


1
আপনি এটি দিয়ে আমার জীবন বাঁচিয়েছেন, এই উত্তরের জন্য আপনাকে অনেক ধন্যবাদ।
TheGrayFox

7
অনুশীলনে আমি আবিষ্কার করেছি। আপনি যদি 9-প্যাচ চিত্র ব্যবহার করেন তবে এটি আপনাকে সমর্থন করবে এমন ক্ষুদ্রতম পর্দার চেয়েও ছোট হওয়া দরকার। দেখা যাচ্ছে যে চিত্র আকার পরিবর্তন হবে, কিন্তু সঙ্কুচিত নয়, ক্লিপিং ঘটাচ্ছে ... এবং এটা .. fitXY জন্য সেট করা প্রয়োজন বলে মনে হয়
শন Aitken

মন্তব্যের জন্য ধন্যবাদ, ক্লিভারকোডার। কোন সমস্যা এড়াতে আপনি কতটা আদর্শ আদর্শ তা ব্যাখ্যা করতে পারেন? আমি ধরে নিচ্ছি 2px প্রস্থ এবং উচ্চতায় ছোট হওয়া যথেষ্ট হবে?
লুকাস সেরো

1
আপনি "xlarge (xhdpi) বলেছেন: 640x960", তবে ডকুমেন্টেশন বলে যে xlarge কমপক্ষে 960dp x 720dp, সুতরাং xhdpi ঘনত্ব সহ xlarge স্ক্রিনটি 1920px x 1440px হওয়া উচিত। ঘনত্ব এবং আকার বিভিন্ন ধারণা cep
fikr4n

1
@ লুকাসেরো: আপনার অন্যথায় দুর্দান্ত উত্তরের প্রথম লাইনে একটি সম্পাদনা করার কথা বিবেচনা করা উচিত যা উত্তরটি পুরানো এবং অ্যান্ড্রয়েড ৩.২ দিয়ে শুরু করে এখন উপলভ্য স্ক্রিনের প্রস্থের ভিত্তিতে groups টি গ্রুপ রয়েছে।
জেনস

119

পোর্ট্রেট মোড

MDPI 320x480 dp = 320x480px (1x)

LDPI হল 0.75 x MDPI = 240x360px

HDPI 1.5 x MDPI = 480x720px x

এক্সএইচডিপিআই 2 এক্স এমডিপিআই = 640x960px

XXHDPI হল 3 x MDPI = 960x1440px

XXXHDPI 4 x MDPI = 1280x1920px

আড়াআড়ি মোড

MDPI 480x320 dp = 480x320px (1x)

LDPI হল 0.75 x MDPI = 360x240px

এইচডিপিআই 1.5 x MDPI = 720x480px

এক্সএইচডিপিআই 2 এক্স এমডিপিআই = 960x640px

XXHDPI হল 3 এক্স MDPI = 1440x960px

XXXHDPI হল 4 x MDPI = 1920x1280px

সম্পাদনা করুন:

আপনি যদি 2019+ এ পড়েন তবে স্প্ল্যাশ স্ক্রিনের জন্য লোটি ব্যবহার করার পরামর্শ দেব


1
গ্রেট! এটি সন্ধান করছিল
Lion789

সর্বাধিক দরকারী সমাধান
ফারজাদ ওয়াইজেড

6
এই মানগুলি সঠিক বলে মনে হচ্ছে না। XXHDPI এর 1920x1080 হওয়ার কথা।
ব্যবহারকারী 2966445

হ্যাঁ! আপনাকে ধন্যবাদ আমি এই কি খুঁজছিলাম! অসংখ্য ধন্যবাদ!
theHellyar

ট্যাবলেট সাইজ প্লিজ কীভাবে?
বিয়িং জে কে

29

প্রতিকৃতি

এলডিপিআই: 200x320px

MDPI: 320x480px

এইচডিপিআই: 480x800px

এক্সএইচডিপিআই: 720px1280px

ভূদৃশ্য

LDPI: 320x200px

MDPI: 480x320px

এইচডিপিআই: 800x480px

এক্সএইচডিপিআই: 1280x720px


2
শারীরিক পর্দার আকার এবং রেজোলিউশন স্বাধীন ধারণা। পিক্সেলগুলিতে চিত্রের আকার উভয়ের পণ্য।
হেনরি

1
XXHDPI, XXXHDPI এর আকার বলুন?
হিটশ 141

এই উত্তরের মানগুলি এখানে সরবরাহিত তথ্যের অনুপাতে উপস্থিত হয় না: stackoverflow.com/a/19661363/1617737 । আমি মনে করি গৃহীত উত্তরটি যদিও পুরানো হলেও সঠিক হওয়ার সম্ভাবনা বেশি।
-15

17

9-প্যাচ চিত্রটি তৈরি করার জন্য আমি সবচেয়ে সেরা এবং সহজ উত্তরটি অনুসন্ধান করেছি। 9 প্যাচের চিত্রটি তৈরি করা এখন সবচেয়ে সহজ কাজ।

Https://romannurik.github.io/AndroidAssetStudio/index.html থেকে আপনি সমস্ত রেজোলিউশনগুলির জন্য একটি 9-প্যাচ চিত্র তৈরি করতে পারেন - এক্সএইচডিপিআই, এইচডিপিআই, এমডিপিআই, এলডিপিআই কেবলমাত্র একটি ক্লিকে।


12

পিএনজি ব্যবহার করা তেমন ভাল ধারণা নয়। প্রকৃতপক্ষে পারফরম্যান্স সম্পর্কিত এটি ব্যয়বহুল। আপনি অঙ্কনযোগ্য এক্সএমএল ফাইলগুলি ব্যবহার করতে পারেন, উদাহরণস্বরূপ, ফেসবুকের পটভূমি

এটি আপনাকে আপনার পারফরম্যান্সটি মসৃণ করতে এবং গতি বাড়িয়ে তুলতে এবং লোগো ব্যবহারের জন্য .9 প্যাচ চিত্রগুলি সহায়তা করবে।


10
Density buckets

LDPI    120dpi    .75x
MDPI    160dpi    1x
HDPI    240dpi    1.5x
XHDPI   320dpi    2x
XXHDPI  480dpi    3x
XXXHDPI 640dpi    4x

px / dp = dpi / 160 dpi

4

কিছু সময় আগে আমি সমর্থিত মাত্রা সহ একটি এক্সেল ফাইল তৈরি করেছি
আশা করি এটি কারও পক্ষে সহায়ক হবে be

সত্যি কথা বলতে আমি ধারণাটি হারিয়েছি তবে এটি স্ক্রিনের অন্য বৈশিষ্ট্যটিকে আকার হিসাবে উল্লেখ করে (কেবলমাত্র ঘনত্ব নয়)
https://developer.android.com/guide/practices/screens_support.html
কিছু ভুল থাকলে দয়া করে আমাকে জানান

লিংক 1: মাত্রা। Xlsx x

লিংক 2: মাত্রা। Xlsx x


4

আমার ক্ষেত্রে, আমি স্টাইল.এক্সএমএলে ড্রয়যোগ্য তালিকাটি ব্যবহার করেছি। স্তর তালিকা আঁকুনযোগ্য, আপনার সমস্ত পর্দার আকারের জন্য কেবল একটি পিএনজি প্রয়োজন।

<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@drawable/flash_screen</item>
    <item name="android:windowTranslucentStatus" tools:ignore="NewApi">true</item>
</style>

এবং অঙ্কনযোগ্য ফোল্ডারে ফ্ল্যাশ_স্ক্রিন.এক্সএমএল।

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:color/white"></item>
    <item>
        <bitmap android:src="@drawable/background_noizi" android:gravity="center"></bitmap>
    </item>
</layer-list>

"ব্যাকগ্রাউন্ড_নাইজি" হ'ল আঁকানো ফোল্ডারের একটি পিএনজি ফাইল। আশা করি এটা কাজে লাগবে.


আপনার পটভূমি চিত্রটি যদি বড় হয় তবে এটি প্রসারিত হবে
শেডটিড


2

সম্পাদিত সমাধান যা আপনার স্প্ল্যাশস্ক্রিনকে 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">

<!-- The background color, preferably the same as your normal theme -->
<item>
    <shape>
        <size android:height="120dp" android:width="120dp"/>
        <solid android:color="@android:color/white"/>
    </shape>
</item>

<!-- Your product logo - 144dp color version of your app icon -->
<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>

<!-- Your product logo - 144dp color version of your app icon -->
<item android:gravity="center">
    <bitmap android:gravity="center"
        android:src="logo_vect"/>

</item>

এই ফোল্ডার দেখতে দেখতে

এই API গুলিগুলির কোনও কারণে আপনাকে এটিকে কাজ করতে এবং চূড়ান্ত ফলাফলটি দেখতে একইরকম দেখাতে আপনার অঙ্কনটি একটি বিটম্যাপে গুটিয়ে রাখতে হবে। সমস্যাটি হ'ল আপনাকে অ্যাডিশনাল ড্রয়যোগ্য ফোল্ডারগুলির সাথে অ্যাপ্রোচটি ব্যবহার করতে হবে কারণ স্প্ল্যাশ_স্ক্রিন.এক্সএমএল ফাইলের দ্বিতীয় সংস্করণটি আপনার স্প্ল্যাশ স্ক্রিনটি 23-রও বেশি API চালিত ডিভাইসে প্রদর্শিত হবে না lead স্প্র্যাশ_স্ক্রিন.এক্সএমএল এর প্রথম সংস্করণটি অ্যান্ড্রয়েড ডিফল্ট হিসাবে অ্যান্ড্রয়েডের ডিফল্ট হিসাবে অঙ্কনযোগ্য-ভি 24 এ সঞ্চার করতে পারে for আশাকরি এটা সাহায্য করবে

আমার স্প্ল্যাশস্ক্রিন


0

লুকাস সের্রোর এই উত্তরটির ভিত্তিতে আমি উত্তরে অ্যান্ড্রয়েড ডক্সে অনুপাত ব্যবহার করে মাত্রাগুলি গণনা করেছি । আমি আশা করি এটি অন্য কাউকে এই পোস্টে আসতে সহায়তা করবে!

  • xxxlarge (xxxhdpi): 1280x1920 (4.0x)
  • xxlarge (xxhdpi): 960x1440 (3.0x)
  • xlarge (xhdpi): 640x960 (2.0x)
  • বৃহত (এইচডিপিআই): 480x800 (1.5x)
  • মাঝারি (এমডিপিআই): 320x480 (1.0x বেসলাইন)
  • ছোট (এলডিপিআই): 240x320 (0.75x) 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.