একাধিক স্ক্রিন সমর্থন করার জন্য অ্যাপ্লিকেশন কঙ্কাল


94

আমরা যেমন জানি যে অ্যান্ড্রয়েড বিভিন্ন ডিভাইস নিয়ে আসছে যার বিভিন্ন বৈশিষ্ট্য, রেজোলিউশন এবং স্ক্রিন-আকার রয়েছে তাই একটি অ্যাপ্লিকেশন বিকাশ করার সময় একাধিক (ছোট এবং বড়) স্ক্রিন সমর্থন করে সেখানে আকার এবং বিন্যাসের অন্তরায় রয়েছে।

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

আমার প্রশ্নটি হ'ল কোন প্রয়োজনীয় প্রবাহ বা আর্কিটেকচার কি প্রয়োজন অনুসারে অনুসরণ করা উচিত?

এখানে চিত্র বর্ণনা লিখুন

মনে রাখবেন আমাদের কাছে বিভিন্ন আকার এবং রেজোলিউশনের ট্যাবলেট রয়েছে।

আমি সচেতন যে অ্যান্ড্রয়েড বিকাশকারীতে এই তথ্য রয়েছে তবে আমার দৃষ্টিভঙ্গি বাস্তবায়ন থেকে।

আমার জ্ঞান থেকে যা আমি বুঝতে পেরেছি তা হল অ্যান্ড্রয়েড গ্রাফিক্স ডিজাইনের জন্য এমনকি প্রোগ্রামারকে অবশ্যই ডিজাইনিং ধারণাটি জানতে হবে।


14
আপনি কি নিশ্চিত যে এই প্রশ্নটি গঠনমূলক নয়?
মোহাম্মদ আজহারউদ্দিন শাইখ

6
আমি মনে করি এটি অত্যন্ত গঠনমূলক। ডাউন ভোটের কারণগুলি জানতে চাই।
অলস নিনজা

11
@ এমকেজেপ্রেখ MicroMax Funbook gsmarena.com/micromax_funbook_p300-4701.php নিতে 7", 480X800, Ldpi (133 dpi)পারেন আপনি আমাকে বলতে পারেন কোন বিভাগে (ড্রিল-লার্জ বা এলডিপি বা অ্যান্ড্রয়েড ভি 3.0 সোয়াং -480) এটি পড়বে?
মোহাম্মদ আজহারউদ্দিন শাইখ

4
@ লেজিনিজ্জা নিচে ভোটের কারণ হলেন পাগল এবং ক্রেজি মানুষ। কে কেবল তারা মনে করে যে তারা কেবল গঠনমূলক প্রশ্ন জিজ্ঞাসা করতে পারে: পি
এজেড_২২

4
@ এজেড_ :) আমরা এই রেজ-স্ট্রাকচারটি রেজ ফোল্ডারে ড্রয়যোগ্য-এইচডিপিআই ড্রয়েবল-এইচডিপিআই-ভি 11 ড্রয়েবল-এইচডিপিআই-ভি 9 ড্রয়েবল-বড় অঙ্কনযোগ্য-বড়-এইচডিপিআই অঙ্কনযোগ্য-এলডিপিআই অঙ্কনযোগ্য-এমডিপিআই-অঙ্কনযোগ্য-এমডিপিআই-ভি 11 অঙ্কনযোগ্য-ছোট অঙ্কনযোগ্য- xhdpi অঙ্কনযোগ্য-xhdpi-v11 অঙ্কনযোগ্য-xxhdpi অঙ্কনযোগ্য-xxhdpi-v11 লেআউট-ছোট লেআউট-sw530dp লেআউট-sw720dp লেআউট-xlarge মান মান- sw530dp মান-sw720dp মান-v14 মান-xlarge এবং ফোল্ডার থেকে xML-এ সঠিক সংজ্ঞায়িত মাত্রা ব্যবহৃত হয়েছে । FYKI আমাদের অ্যাপ্লিকেশন 5k ধরণের বেশি ডিভাইস সমর্থন করে supports
এমকেজেপ্রেখ

উত্তর:


147

শেষ পর্যন্ত এমন কাঠামো তৈরি হয়েছে যা একাধিক স্ক্রিনের জন্য বিন্যাস এবং আইকন পরিচালনা করে।

অ্যান্ড্রয়েড দুটি প্যারামিটারের ভিত্তিতে ডিভাইসটির বিভাগগুলিতে প্রদর্শন করে:

  • স্ক্রিনের আকার, প্রদর্শনের শারীরিক আকার (তির্যক পরিমাপ করা)
  • স্ক্রিন ঘনত্ব, প্রদর্শনের শারীরিক পিক্সেল ঘনত্ব (পিক্সেল-প্রতি ইঞ্চি, বা পিপিআই) `

স্ক্রিনের আকার এবং ঘনত্বটি দ্রুত নির্ধারণ করতে, অ্যান্ড্রয়েডের জন্য " হোয়াট মাই সাইজ " অ্যাপটি ইনস্টল করুন।

পর্দার আকার

অ্যান্ড্রয়েড চারটি সাধারণ স্ক্রিন আকার নির্ধারণ করে:


 Qualifier           Size

 small               ~3 inches (approx) 
 normal              ~4 inches (approx) 
 large               Exceeds 4 inches    
 xlarge              Exceeds 7 inches  
  • বেশিরভাগ ফোনকে ছোট বা সাধারণ হিসাবে শ্রেণীবদ্ধ করা হয় (প্রায় 3 থেকে 4 ইঞ্চি তির্যকভাবে)। তবে এখন গ্যালাক্সি এস 4, এইচটিসি ওয়ান, এক্সপিরিয়া জেড এর মতো অনেকগুলি বড় স্ক্রিন রয়েছে
  • স্যামসুং গ্যালাক্সি ট্যাবের মতো একটি ছোট ট্যাবলেট বড় হিসাবে শ্রেণিবদ্ধ করা হয় (4 ইঞ্চির চেয়ে বড়)
  • অতিরিক্ত-বৃহত বড় ডিভাইসগুলিতে প্রয়োগ হয়, উদাহরণস্বরূপ বড় ট্যাবলেট

অ্যান্ড্রয়েড চারটি সাধারণ স্ক্রিন ঘনত্বগুলি সংজ্ঞায়িত করে:


 Qualifier         Description         Nominal value

 ldpi              low density          120 ppi
 mdpi              medium density       160 ppi
 hdpi              high density         240 ppi
 xhdpi             extra high density   320 ppi

সাধারণত:

  • আপনার অ্যাপ্লিকেশন বিন্যাসে স্ক্রিন আকার সবচেয়ে বেশি প্রভাব ফেলে
  • আপনার চিত্র এবং গ্রাফিক সংস্থানগুলিতে স্ক্রিন ঘনত্ব সবচেয়ে বেশি প্রভাব ফেলে

এটি এখানে ডিভাইসের স্ক্রিনের শতাংশের পার্থক্য তালিকাভুক্ত করা হয়েছে

  • এলডিপিআই- 75%
  • Mdpi- 100% (অ্যান্ড্রয়েড বিকাশকারী সাইট অনুযায়ী বেস)
  • এইচডিপিআই - 150%
  • এক্সএইচডিপি- 200%

এখানে চিত্র বর্ণনা লিখুন

তবে আমরা এখন জানি যে বেশিরভাগ ডিভাইস 480X800 নিয়ে আসছে সুতরাং আমি এটিকে ভিত্তিক ডিভাইস হিসাবে বিবেচনা করছি, সুতরাং আমাদের নতুন গণনাটি এটি পছন্দ করবে

  • Ldpi- 50%
  • এমডিপিআই- .6 66.7%%
  • এইচডিপি- 100%
  • এক্সএইচডিপিআই- 133.33%

যার অর্থ হ'ল প্রথম আইকন এবং ডিজাইনটি কেবল 480X800 এবং তারপরে বিশ্রামের জন্য (যেমন এলডিপি, মোডপি, এক্সএইচডিপি) তৈরি করা হবে।

এমন চিত্র রয়েছে যা সমস্ত বিন্যাসের জন্য সাধারণ এবং অবশ্যই বর্ণ এবং আকারের সাথে একরকম হতে হবে (কোনও জটিল আকার, কোনও বক্ররেখা নয়) তাই এই ধরণের চিত্রের জন্য আমরা তৈরি করছি 9patchযা "অঙ্কনযোগ্য (প্রত্যয় নয়)" ফোল্ডারে রাখতে হবে। 9 প্যাচ চিত্র তৈরি করতে আপনি হয় ড্রইনাইনপ্যাচ বা বেটারনাইনপ্যাচ ব্যবহার করতে পারেন

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

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

একবার আপনি সমস্ত চিত্র তৈরির সাথে সমাপ্ত হয়ে গেলে আপনার প্রকল্পটি রিফ্রেশ করুন এবং এটি পরীক্ষা করুন।

কখনও কখনও সম্ভাবনা থাকতে পারে যে লেআউট যা স্ক্রিন সমর্থন করে (xhdpi, hdpi, mdpi) ছোট পর্দা (ldpi) কেটে যেতে পারে তাই এটি পরিচালনা করার জন্য এটির জন্য আলাদা আলাদা লেআউট ফোল্ডার (লেআউট-ছোট) তৈরি করুন ScrollView(বেশিরভাগ)। এটাই.

ট্যাবলেট ট্যাবলেটগুলি দুটি আকারে শ্রেণিবদ্ধ করা হয়।

  1. 7 "(1024X (600-48 (নেভিগেশন বার))) = 1024X552 (অঙ্কনযোগ্য-বৃহত্তর)
  2. 10 "(1280X (800-48 (নেভিগেশন বার))) = 1280X752 (অঙ্কনযোগ্য-এক্স্লারেজ)

এটিতে আমাদের উভয়ই স্ক্রিনের জন্য চিত্র তৈরি করতে হবে এবং সেগুলি অনুযায়ী সেগুলি রাখা দরকার

সুতরাং সব মিলিয়ে আমাদের একাধিক স্ক্রিন সমর্থন করার জন্য আমাদের অ্যাপ্লিকেশনটিতে এই ফোল্ডারটি থাকবে।

drawable
drawable-ldpi
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-large
drawable-xlarge

এর সাথে আরও কোয়ালিফায়ার সংমিশ্রণ হবে Screen size and Screen density

drawable-large-ldpi
drawable-large-mdpi
drawable-large-hdpi
drawable-large-xhdpi

আরও কোয়ালিফায়ার Screen density and Version

drawable-ldpi-v11
drawable-mdpi-v11
drawable-hdpi-v11
drawable-xhdpi-v11

এবং আরও যোগ্যতা সহ Screen size and Version

drawable-large-v11
drawable-xlarge-v11

এবং আরও যোগ্যতা সহ Smallest width concept(SW)

 drawable-sw???dp

অ্যানড্রয়েড ভি 3.0 হানিকম্ব আরও জানায় তারা এর নতুন ধারণাটি প্রবর্তন করেছিল SW(smallest width)drawable-sw360dp ভি 3.0 হানিকম্ব আরও জানায় যে তারা ডিভাইসটিকে স্ক্রিনের প্রস্থে শ্রেণীবদ্ধ করা হয়েছে তার , তাই আমরা যদি একটি ফোল্ডার তৈরি করি তবে 720dp (প্রস্থ বা উচ্চতা) সহ ডিভাইসটি এই ফোল্ডারটি থেকে রিসোর্স ব্যবহার করবে।

উদাহরণস্বরূপ এটি Samsung Galaxy S3 ডিপি থেকে প্রত্যয় থেকে অঙ্কনযোগ্য-SW? ডিপি
এর রেফারেন্স দিয়ে ডিপি ক্যালকুলেশন , আপনি এস 3 আপনার লেআউট বা অঙ্কনযোগ্য সমর্থন করতে চান, তাহলে হিসাব বলছে

px = ডিভাইসের প্রস্থ = 720
ডিপিআই = ডিভাইসের ঘনত্ব = 320

সূত্র দেওয়া

    px = dp * (dpi / 160)

বিনিময় সূত্র কারণ আমাদের px এর মান আছে

    dp = px / (dpi / 160)

এখন মূল্য রাখা,

     dp= 720 / (320/160);
     dp=360. 

তাই drawable-sw360dpকাজ হবে

আপনার কাছ থেকে ডিভাইস configuaration পান GsmArena Sameway আপনার কাছে ডিভাইস এর Android API সংস্করণ অর্থাত অঙ্কনযোগ্য-hdpi-v11` অনুযায়ী ফোল্ডার তৈরি করতে পারেন যাতে ডিভাইসটির API11 হচ্ছে না এবং এটি Hdpi তারপর এটি এই সম্পদ ব্যবহার করবে।

অতিরিক্ত টিপস:

  • আপেক্ষিক বিন্যাস, ডিপি, এসপি এবং মিমি ব্যবহার করুন

    ডিপি ইউনিট - 160 পিপিআই স্ক্রিনে মাঝারি ঘনত্বের সাথে ডিভাইস স্বতন্ত্র পিক্সেলগুলি 1 ফিজিক্যাল পিক্সেলকে স্বাভাবিক করা হয়। রানটাইমে স্কেল করা হয়েছে। স্ক্রিন উপাদান মাত্রা জন্য ব্যবহার করুন

    এসপি ইউনিট - স্কেলযুক্ত পিক্সেল, ভাসমান পয়েন্ট মান হিসাবে নির্দিষ্ট, ডিপি ইউনিটগুলির উপর ভিত্তি করে তবে অতিরিক্তভাবে ব্যবহারকারীর ফন্ট-আকারের পছন্দসই সেটিংসের জন্য স্কেল করে। রানটাইমে স্কেল করা হয়েছে। হরফ আকারের জন্য ব্যবহার করুন

    লেআউটগুলির জন্য আপনার সর্বদা রিলেটিভলআউট ব্যবহার করা উচিত; AbsoluteLayout অবমূল্যায়িত এবং ব্যবহার করা উচিত নয়।

  • উপযুক্ত চিত্রের ফর্ম্যাটগুলি ব্যবহার করুন - পিএনজি বনাম জেপিজি

    Android "prefers" PNG for bitmap image files, "accepts" JPEG, and "discourages" GIF.

    তবে পিএনজি এবং জেপিজি সমতুল্য নয়। তাদের বিভিন্ন মানের ট্রেড অফ রয়েছে এবং পিএনজি সর্বদা সেরা হয় না:

    জেপিইজি পিএনজি-র মাধ্যমে 50% পর্যন্ত ফাইল-আকার হ্রাসের প্রস্তাব দিতে পারে, এটি আপনার অ্যাপ্লিকেশনটি চিত্র-নিবিড় হলে তাত্পর্যপূর্ণ

    একই ফাইলের আকারের জন্য একটি উচ্চ মানের "ক্ষতিকারক" জেপিজি অত্যন্ত সংকুচিত "লসলেস" পিএনজি থেকে আরও ভাল দেখাচ্ছে

  • ডিবাগিংয়ের জন্য আপনার চিত্র এবং গ্রাফিকগুলিতে লেবেল যুক্ত করুন

  • সমর্থন-পর্দার উপাদান ব্যবহার করুন

  • আসল ডিভাইসের মান সহ আপনার অনুকরণকারীকে কনফিগার করুন

    প্রচলিতভাবে, ডেস্কটপ সিস্টেমগুলি 72ppi (ম্যাক), বা 96 পিপি (উইন্ডোজ, লিনাক্স) এ প্রদর্শিত হয়। মোবাইলের সাথে তুলনা করে ডেস্কটপ প্রদর্শনগুলি সর্বদা কম ঘনত্বের হয়।

    আপনার অ্যান্ড্রয়েড অনুকরণকারীকে সর্বদা আসল ডিভাইসের মানগুলি অনুকরণ করতে কনফিগার করুন এবং সর্বদা সেগুলি ডিভাইসের ঘনত্ব অনুকরণ করতে স্কেল করে সেট করুন।

    Eclipse এ, একাধিক এমুলেটর তৈরি করা সহজ (একলপস মেনু বার থেকে, উইন্ডো> এভিডি ম্যানেজার> নতুন ) নির্বাচন করুন আসল ডিভাইসের জন্য মানগুলি সহ:

    রিয়েল রেজোলিউশনটি অনুকরণ করে এমন আসল ডিভাইসের জন্য এমুলেটরটির নাম দিন

    আপনি যখন ডিভাইসটি চালু করেন, সর্বদা আসল আকারে স্কেল প্রদর্শন নির্বাচন করুন এবং প্রকৃত স্ক্রিনের মাত্রাটি ইঞ্চিতে টাইপ করুন।

    আপনি যদি ডিভাইসের ঘনত্ব সেট না করেন তবে এমুলেটরটি কম ঘনত্বের জন্য ডিফল্ট হয় এবং সর্বদা ldpi- নির্দিষ্ট সংস্থানগুলি লোড করে। রেজোলিউশন (পিক্সেল মাত্রা) সঠিক হবে, তবে আপনার ঘনত্ব-নির্ভর চিত্রের সংস্থানগুলি যেমন ইচ্ছা তেমন প্রদর্শন করবে না।

    অবশ্যই, আপনি যা করবেন না তা কম ঘনত্বের ডেস্কটপ ডিসপ্লেতে উচ্চতর ঘনত্ব চিত্রের গুণমানের পুনরুত্পাদন করবে।

১ অক্টোবর, ২০১২ এ শেষ হওয়া-দিনের সময়কালে এখানে সংগৃহীত ডেটা এখানে রয়েছে Android অ্যান্ড্রয়েড প্ল্যাটফর্ম সংস্করণ সম্পর্কে সর্বশেষ পরিসংখ্যান দেখতে এখানে যান

স্ক্রিন আকারের উপর ভিত্তি করে

এখানে চিত্র বর্ণনা লিখুন

স্ক্রিন ঘনত্বের ভিত্তিতে

এখানে চিত্র বর্ণনা লিখুন


4
স্যামসাং গ্যালাক্সি ট্যাব 7 জন্য "আমরা অঙ্কনযোগ্য-বড় hdpi অধীনে ইমেজ রাখার অন্যথায় ইমেজ প্রসারিত বা shrinked হবে না।
রাজপাড়া

@ রাজপাড়াতে প্রচুর সংমিশ্রণ ও ক্রমশক্তি রয়েছে, আমরা পরে এই জাতীয় সমস্ত মামলা অন্তর্ভুক্ত করব।
মোহাম্মদ আজহারউদ্দিন শাইখ

4
@ অ্যালেক্সবোনেল দেখুন, হ্যাঁ আমি আপনার সাথে একমত নই, তবে আমার মূল লক্ষ্যটি হল মাল্টি-স্ক্রিন সমর্থনের ক্ষেত্রে জিনিসগুলি কীভাবে করা যায় তা সচেতন করা। এই প্রবাহ / ধারণাটিকে কেউ পরিবর্তন / হেরফের করতে পারে কারণ উপরেরটি প্রাথমিক সমস্যাটি পরিষ্কার করার জন্য। অতিরিক্তভাবে আমিও অ্যাপ্লিকেশন ডিজাইনের উপর ভিত্তি করে সংশোধন করি। আপনার পোস্টটি আমাকে ধারণা দেয় যে আপনি ধারণাটি বুঝতে পেরেছেন। আশা করি আপনি আমার বক্তব্য পেয়েছেন।
মোহাম্মদ আজহারউদ্দিন শায়খ

4
চমৎকার উত্তর. অনেক দিন অনুসন্ধান করার পরেও কেন এই ব্যতিক্রমগুলি ঘটছে, আমি দুর্দান্ত পোস্ট হিসাবে দুর্দান্ত উদাহরণ এবং ব্যাখ্যা দিয়ে এই পোস্টটি পেয়েছি। উদাহরণস্বরূপ হ্যালো মান 7 ইঞ্চি ট্যাবলেট বিবেচনা করুন। পিপিআই = 133। রেজোলিউশন = 480 * 800। আকার = 7 'ইঞ্চি। যদি আমরা এমডিপিআইকে বেস হিসাবে বিবেচনা করি তবে এটি মান-sw480 এ সংজ্ঞায়িত মাত্রা নেওয়া উচিত তবে এটি মান-sw600 থেকে মাত্রা নিচ্ছে। আমি বুঝতে পারছি না কেন এটি হচ্ছে। সত্যিই আপনার পোস্টের জন্য আপনাকে অনেক ধন্যবাদ। প্রচুর সময় বাঁচান এবং বিভ্রান্তি পরিষ্কার করুন। আমি মনে করি এটি অ্যান্ড্রয়েডের অফিসিয়াল সাইটে থাকা উচিত। আপনি প্রচেষ্টা প্রশংসা।
স্মিথ

4
আমি মনে করি এটি আমার আগে দেখা সেরা উত্তর। আমি দীর্ঘদিন থেকে এই জাতীয় উত্তর খুঁজছি। এবং অবশেষে আমি এটি পেয়েছিলাম। এটি আরও বোধগম্য করার জন্য এই উত্তরের জন্য অবদান রাখায় সবাইকে ধন্যবাদ Thanks
হিরেন দীক্ষিত

1

ডিজাইনারদের বেস ডিজাইন তৈরি করা উচিত

base size of mdpi devices * density conversion factor of highest supported density bucket
আকার। বেস স্ক্রিনের আকার 320 এক্স 480 পিক্স এবং ঘনত্ব বালতিগুলি নিম্নরূপ:

  • ldpi: 0.75
  • এমডিপিআই: 1.0 (বেস ঘনত্ব)
  • এইচডিপিআই: 1.5
  • xhdpi: 2.0
  • xxhdpi: 3.0
  • xxxhdpi: 4.0

এবং অ্যান্ড্রয়েড ডিভাইসগুলিতে অতিরিক্ত উপলভ্য স্থানটি মোকাবেলার জন্য উভয় দিক (অনুভূমিকভাবে এবং উলম্বভাবে) প্রসারিত উপাদান ব্যবহার করা উচিত। বিস্তারিত তথ্য এখানে পাওয়া যায়:

http://vinsol.com/blog/2014/11/20/tips-for-designers-from-a-developer/

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.