ক্যানোনিকাল লেআউটগুলি প্রমাণিত, বহুমুখী লেআউট যা বিভিন্ন ফর্ম ফ্যাক্টরের উপর সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদান করে।

ক্যানোনিকাল লেআউটগুলি ছোট স্ক্রিনের ফোনের পাশাপাশি ট্যাবলেট, ফোল্ডেবল এবং ChromeOS ডিভাইসগুলিকেও সমর্থন করে। মেটেরিয়াল ডিজাইন নির্দেশিকা থেকে প্রাপ্ত, লেআউটগুলি নান্দনিক এবং কার্যকরী উভয়ই।
অ্যান্ড্রয়েড ফ্রেমওয়ার্কে বিশেষায়িত উপাদান রয়েছে যা লেআউটগুলির বাস্তবায়নকে সহজ এবং নির্ভরযোগ্য করে তোলে।
ক্যানোনিকাল লেআউটগুলি আকর্ষণীয়, উৎপাদনশীলতা-বর্ধক UI তৈরি করে যা দুর্দান্ত অ্যাপগুলির ভিত্তি তৈরি করে।
আপনি যদি ইতিমধ্যে অভিযোজিত অ্যাপ ক্যানোনিকাল লেআউটগুলির সাথে পরিচিত হন তবে কোন Android API ব্যবহার করবেন তা নিশ্চিত না হলে, আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউটটি সঠিক তা নির্ধারণ করতে সহায়তার জন্য প্রযোজ্যতা বিভাগে যান৷
,আপনি যদি ইতিমধ্যে অভিযোজিত অ্যাপ ক্যানোনিকাল লেআউটগুলির সাথে পরিচিত হন তবে কোন Android API ব্যবহার করবেন তা নিশ্চিত না হলে, আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউটটি সঠিক তা নির্ধারণ করতে সহায়তার জন্য প্রযোজ্যতা বিভাগে যান৷
,আপনি যদি ইতিমধ্যে অভিযোজিত অ্যাপ ক্যানোনিকাল লেআউটগুলির সাথে পরিচিত হন তবে কোন Android API ব্যবহার করবেন তা নিশ্চিত না হলে, আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউটটি সঠিক তা নির্ধারণ করতে সহায়তার জন্য প্রযোজ্যতা বিভাগে যান৷
,আপনি যদি ইতিমধ্যে অভিযোজিত অ্যাপ ক্যানোনিকাল লেআউটগুলির সাথে পরিচিত হন তবে কোন Android API ব্যবহার করবেন তা নিশ্চিত না হলে, আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউটটি সঠিক তা নির্ধারণ করতে সহায়তার জন্য প্রযোজ্যতা বিভাগে যান৷
তালিকা-বিস্তারিত

তালিকা-বিস্তারিত লেআউট ব্যবহারকারীদের বর্ণনামূলক, ব্যাখ্যামূলক, বা অন্যান্য সম্পূরক তথ্য - আইটেমের বিবরণ - সহ আইটেমের তালিকা অন্বেষণ করতে সক্ষম করে।
লেআউটটি অ্যাপ উইন্ডোটিকে দুটি পাশাপাশি দুটি প্যানে বিভক্ত করে: একটি তালিকার জন্য, একটি বিশদের জন্য। ব্যবহারকারীরা আইটেমের বিশদ প্রদর্শনের জন্য তালিকা থেকে আইটেম নির্বাচন করেন। বিশদের মধ্যে থাকা ডিপ লিঙ্কগুলি বিশদের প্যানে অতিরিক্ত সামগ্রী প্রকাশ করে।
প্রসারিত-প্রস্থ প্রদর্শন ( উইন্ডো আকারের ক্লাস ব্যবহার করুন দেখুন) একই সাথে তালিকা এবং বিশদ উভয়কেই সমন্বিত করে। একটি তালিকা আইটেম নির্বাচন নির্বাচিত আইটেমের জন্য সম্পর্কিত সামগ্রী দেখানোর জন্য বিশদ ফলক আপডেট করে।
মাঝারি এবং কমপ্যাক্ট-প্রস্থের ডিসপ্লেগুলি অ্যাপের সাথে ব্যবহারকারীর মিথস্ক্রিয়ার উপর নির্ভর করে তালিকা বা বিশদ প্রদর্শন করে। যখন কেবল তালিকাটি দৃশ্যমান হয়, তখন তালিকার আইটেম নির্বাচন করলে তালিকার পরিবর্তে বিশদ প্রদর্শন করা হয়। যখন কেবল বিশদটি দৃশ্যমান হয়, তখন পিছনের বোতাম টিপলে তালিকাটি পুনরায় প্রদর্শিত হয়।
ডিভাইসের ওরিয়েন্টেশন পরিবর্তন বা অ্যাপ উইন্ডোর আকার পরিবর্তনের মতো কনফিগারেশন পরিবর্তনগুলি ডিসপ্লের উইন্ডোর আকারের শ্রেণী পরিবর্তন করতে পারে। একটি তালিকা-বিস্তারিত লেআউট সেই অনুযায়ী সাড়া দেয়, অ্যাপের অবস্থা সংরক্ষণ করে:
- যদি একটি বর্ধিত-প্রস্থের ডিসপ্লে যেখানে তালিকা এবং বিস্তারিত উভয় প্যানেল দেখানো হয়, তা মাঝারি বা কম্প্যাক্টে সংকুচিত হয়, তাহলে বিস্তারিত প্যানেলটি দৃশ্যমান থাকে এবং তালিকা প্যানেলটি লুকানো থাকে।
- যদি একটি মাঝারি বা কমপ্যাক্ট-প্রস্থের ডিসপ্লেতে কেবল বিস্তারিত ফলকটি দৃশ্যমান হয় এবং উইন্ডো আকারের শ্রেণীটি প্রসারিত করার জন্য প্রশস্ত হয়, তাহলে তালিকা এবং বিস্তারিত একসাথে দেখানো হয় এবং তালিকাটি নির্দেশ করে যে বিস্তারিত ফলকের বিষয়বস্তুর সাথে সম্পর্কিত আইটেমটি নির্বাচন করা হয়েছে।
- যদি একটি মাঝারি বা কমপ্যাক্ট-প্রস্থের ডিসপ্লেতে কেবল তালিকার ফলকটি দৃশ্যমান হয় এবং প্রসারিত করার জন্য প্রশস্ত হয়, তাহলে তালিকা এবং একটি স্থানধারক বিশদ ফলক একসাথে দেখানো হয়।
তালিকা-বিস্তারিত মেসেজিং অ্যাপ , যোগাযোগ ব্যবস্থাপক , ইন্টারেক্টিভ মিডিয়া ব্রাউজার বা যেকোনো অ্যাপের জন্য আদর্শ যেখানে বিষয়বস্তু অতিরিক্ত তথ্য প্রকাশ করে এমন আইটেমের তালিকা হিসাবে সংগঠিত করা যেতে পারে।
বাস্তবায়ন
কম্পোজ, ভিউ এবং অ্যাক্টিভিটি এম্বেডিং (লেগেসি অ্যাপের জন্য) সহ বিভিন্ন প্রযুক্তির সাথে একটি তালিকা-বিশদ লেআউট তৈরি করা যেতে পারে। আপনার অ্যাপের জন্য কোন প্রযুক্তি সবচেয়ে উপযুক্ত তা নির্ধারণ করতে সহায়তার জন্য প্রযোজ্যতা বিভাগটি দেখুন।
SlidingPaneLayout লাইব্রেরিটি ভিউ বা খণ্ডের উপর ভিত্তি করে তালিকা-বিশদ লেআউট বাস্তবায়নের জন্য ডিজাইন করা হয়েছে।
প্রথমে, আপনার XML লেআউটের মূল উপাদান হিসাবে একটি SlidingPaneLayout ঘোষণা করুন। এরপরে, দুটি চাইল্ড এলিমেন্ট যোগ করুন - হয় ভিউ বা ফ্র্যাগমেন্ট - যা তালিকা এবং বিস্তারিত বিষয়বস্তুকে উপস্থাপন করে।
তালিকা-বিশদ দৃশ্য বা খণ্ডগুলির মধ্যে ডেটা পাস করার জন্য একটি যোগাযোগ পদ্ধতি প্রয়োগ করুন। ব্যবসায়িক যুক্তি সংরক্ষণ এবং কনফিগারেশন পরিবর্তনগুলি বেঁচে থাকার ক্ষমতার কারণে ViewModel সুপারিশ করা হয়।
SlidingPaneLayout স্বয়ংক্রিয়ভাবে নির্ধারণ করে যে তালিকা এবং বিশদ বিবরণ একসাথে বা পৃথকভাবে প্রদর্শন করা হবে কিনা। একটি উইন্ডোতে যেখানে উভয়ের জন্য পর্যাপ্ত অনুভূমিক স্থান রয়েছে, তালিকা এবং বিশদ পাশাপাশি প্রদর্শিত হবে। পর্যাপ্ত জায়গা নেই এমন একটি উইন্ডোতে, অ্যাপের সাথে ব্যবহারকারীর ইন্টারঅ্যাকশনের উপর নির্ভর করে তালিকা বা বিশদটি প্রদর্শিত হয়।
একটি উদাহরণ বাস্তবায়নের জন্য, স্লাইডিং প্যানের নমুনা সহ তালিকা-বিশদ দেখুন।
অ্যাক্টিভিটি এমবেডিং
লিগ্যাসি সক্ষম করতে অ্যাক্টিভিটি এমবেডিং ব্যবহার করুন, একাধিক অ্যাক্টিভিটি অ্যাপ একই স্ক্রিনে পাশাপাশি দুটি অ্যাক্টিভিটি দেখাতে বা স্ট্যাক করা (একটি ওভারলে অন্যটি)। যদি আপনার অ্যাপ আলাদা ক্রিয়াকলাপে একটি তালিকা-বিশদ বিন্যাসের তালিকা এবং বিশদ প্রয়োগ করে, তবে কার্যকলাপ এম্বেডিং আপনাকে ন্যূনতম বা কোনও কোড রিফ্যাক্টরিং সহ একটি তালিকা-বিশদ বিন্যাস তৈরি করতে সক্ষম করে।
একটি XML কনফিগারেশন ফাইল ব্যবহার করে একটি টাস্ক উইন্ডো স্প্লিট উল্লেখ করে অ্যাক্টিভিটি এমবেডিং বাস্তবায়ন করুন। বিভক্ত প্রাথমিক কার্যকলাপ সংজ্ঞায়িত করে, যা বিভাজন শুরু করে এবং একটি গৌণ কার্যকলাপ। উইন্ডো আকার ক্লাস ব্রেকপয়েন্ট ব্যবহার করে বিভাজনের জন্য একটি ন্যূনতম প্রদর্শন প্রস্থ নির্দিষ্ট করুন। যখন ডিসপ্লের প্রস্থ ন্যূনতম ব্রেকপয়েন্টের নিচে নেমে আসে, তখন ক্রিয়াকলাপগুলি একটিকে ওভারলে করে প্রদর্শিত হয়। উদাহরণস্বরূপ, ন্যূনতম ডিসপ্লে প্রস্থ 600dp হলে, ক্রিয়াকলাপগুলি কম্প্যাক্ট ডিসপ্লেতে অন্যটিকে ওভারলে করে, কিন্তু মাঝারি এবং প্রসারিত ডিসপ্লেতে পাশাপাশি প্রদর্শিত হয়।
অ্যাক্টিভিটি এম্বেডিং অ্যান্ড্রয়েড 12L (API লেভেল 32) এবং উচ্চতর তে সমর্থিত, তবে ডিভাইস নির্মাতাদের দ্বারা প্রয়োগ করা হলে নিম্ন API স্তরেও উপলব্ধ হতে পারে। যখন কোনো ডিভাইসে অ্যাক্টিভিটি এম্বেডিং উপলব্ধ না থাকে, তখন ফলব্যাক আচরণের ফলে তালিকার কার্যকলাপ বা বিস্তারিত অ্যাক্টিভিটি অ্যাপের সাথে ব্যবহারকারীর ইন্টারঅ্যাকশনের উপর ভিত্তি করে সমগ্র অ্যাপ উইন্ডো দখল করে।
আরও তথ্যের জন্য, অ্যাক্টিভিটি এম্বেডিং দেখুন।
একটি উদাহরণ বাস্তবায়নের জন্য, কার্যকলাপ এমবেডিং নমুনা সহ তালিকা-বিশদ দেখুন।
,অ্যাক্টিভিটি এমবেডিং
লিগ্যাসি সক্ষম করতে অ্যাক্টিভিটি এমবেডিং ব্যবহার করুন, একাধিক অ্যাক্টিভিটি অ্যাপ একই স্ক্রিনে পাশাপাশি দুটি অ্যাক্টিভিটি দেখাতে বা স্ট্যাক করা (একটি ওভারলে অন্যটি)। যদি আপনার অ্যাপ আলাদা ক্রিয়াকলাপে একটি তালিকা-বিশদ বিন্যাসের তালিকা এবং বিশদ প্রয়োগ করে, তবে কার্যকলাপ এম্বেডিং আপনাকে ন্যূনতম বা কোনও কোড রিফ্যাক্টরিং সহ একটি তালিকা-বিশদ বিন্যাস তৈরি করতে সক্ষম করে।
একটি XML কনফিগারেশন ফাইল ব্যবহার করে একটি টাস্ক উইন্ডো স্প্লিট উল্লেখ করে অ্যাক্টিভিটি এমবেডিং বাস্তবায়ন করুন। বিভক্ত প্রাথমিক কার্যকলাপ সংজ্ঞায়িত করে, যা বিভাজন শুরু করে এবং একটি গৌণ কার্যকলাপ। উইন্ডো আকার ক্লাস ব্রেকপয়েন্ট ব্যবহার করে বিভাজনের জন্য একটি ন্যূনতম প্রদর্শন প্রস্থ নির্দিষ্ট করুন। যখন ডিসপ্লের প্রস্থ ন্যূনতম ব্রেকপয়েন্টের নিচে নেমে আসে, তখন ক্রিয়াকলাপগুলি একটিকে ওভারলে করে প্রদর্শিত হয়। উদাহরণস্বরূপ, ন্যূনতম ডিসপ্লে প্রস্থ 600dp হলে, ক্রিয়াকলাপগুলি কম্প্যাক্ট ডিসপ্লেতে অন্যটিকে ওভারলে করে, কিন্তু মাঝারি এবং প্রসারিত ডিসপ্লেতে পাশাপাশি প্রদর্শিত হয়।
অ্যাক্টিভিটি এম্বেডিং অ্যান্ড্রয়েড 12L (API লেভেল 32) এবং উচ্চতর তে সমর্থিত, তবে ডিভাইস নির্মাতাদের দ্বারা প্রয়োগ করা হলে নিম্ন API স্তরেও উপলব্ধ হতে পারে। যখন কোনো ডিভাইসে অ্যাক্টিভিটি এম্বেডিং উপলব্ধ না থাকে, তখন ফলব্যাক আচরণের ফলে তালিকার কার্যকলাপ বা বিস্তারিত অ্যাক্টিভিটি অ্যাপের সাথে ব্যবহারকারীর ইন্টারঅ্যাকশনের উপর ভিত্তি করে সমগ্র অ্যাপ উইন্ডো দখল করে।
আরও তথ্যের জন্য, অ্যাক্টিভিটি এম্বেডিং দেখুন।
একটি উদাহরণ বাস্তবায়নের জন্য, কার্যকলাপ এমবেডিং নমুনা সহ তালিকা-বিশদ দেখুন।
খাওয়ান

একটি ফিড লেআউট একটি কনফিগারযোগ্য গ্রিডে সমতুল্য কন্টেন্ট উপাদানগুলিকে সাজিয়ে রাখে যাতে প্রচুর পরিমাণে কন্টেন্ট দ্রুত এবং সুবিধাজনকভাবে দেখা যায়।
আকার এবং অবস্থান বিষয়বস্তুর উপাদানগুলির মধ্যে সম্পর্ক স্থাপন করে।
উপাদানগুলিকে একই আকারে তৈরি করে এবং তাদের একসাথে স্থাপন করে কন্টেন্ট গ্রুপ তৈরি করা হয়। উপাদানগুলিকে কাছাকাছি উপাদানগুলির চেয়ে বড় করে তাদের প্রতি দৃষ্টি আকর্ষণ করা হয়।
কার্ড এবং তালিকা হল ফিড লেআউটের সাধারণ উপাদান।
একটি ফিড লেআউট প্রায় যেকোনো আকারের ডিসপ্লে সমর্থন করে কারণ গ্রিডটি একটি একক, স্ক্রলিং কলাম থেকে একাধিক-কলাম স্ক্রলিং কন্টেন্ট ফিডে অভিযোজিত হতে পারে।
ফিডগুলি বিশেষ করে সংবাদ এবং সোশ্যাল মিডিয়া অ্যাপের জন্য উপযুক্ত।
বাস্তবায়ন
একটি RecyclerView দক্ষতার সাথে একটি একক কলামে প্রচুর পরিমাণে আইটেম রেন্ডার করে। একটি GridLayoutManager আইটেম আকার এবং স্প্যান কনফিগারেশনের অনুমতি দেয়, একটি গ্রিডে আইটেমগুলি রাখে।
আইটেমগুলির জন্য ন্যূনতম অনুমোদিত প্রস্থ সেট করতে উপলব্ধ প্রদর্শন এলাকার আকারের উপর ভিত্তি করে গ্রিড কলামগুলি কনফিগার করুন৷
GridLayoutManager ডিফল্ট স্প্যানিং কৌশল, যা প্রতি আইটেম এক স্প্যান, একটি কাস্টম SpanSizeLookup তৈরি করে ওভাররাইড করা যেতে পারে। কিছু আইটেম অন্যদের উপর জোর দিতে স্প্যান সামঞ্জস্য করুন।
কমপ্যাক্ট-প্রস্থ প্রদর্শনে যেখানে শুধুমাত্র একটি কলামের জন্য পর্যাপ্ত স্থান রয়েছে, GridLayoutManager পরিবর্তে LinearLayoutManager ব্যবহার করুন।
একটি উদাহরণ বাস্তবায়নের জন্য, দেখুন নমুনা সহ ফিড দেখুন।
, একটি RecyclerView দক্ষতার সাথে একটি একক কলামে প্রচুর পরিমাণে আইটেম রেন্ডার করে। একটি GridLayoutManager আইটেম আকার এবং স্প্যান কনফিগারেশনের অনুমতি দেয়, একটি গ্রিডে আইটেমগুলি রাখে।
আইটেমগুলির জন্য ন্যূনতম অনুমোদিত প্রস্থ সেট করতে উপলব্ধ প্রদর্শন এলাকার আকারের উপর ভিত্তি করে গ্রিড কলামগুলি কনফিগার করুন৷
GridLayoutManager ডিফল্ট স্প্যানিং কৌশল, যা প্রতি আইটেম এক স্প্যান, একটি কাস্টম SpanSizeLookup তৈরি করে ওভাররাইড করা যেতে পারে। কিছু আইটেম অন্যদের উপর জোর দিতে স্প্যান সামঞ্জস্য করুন।
কমপ্যাক্ট-প্রস্থ প্রদর্শনে যেখানে শুধুমাত্র একটি কলামের জন্য পর্যাপ্ত স্থান রয়েছে, GridLayoutManager পরিবর্তে LinearLayoutManager ব্যবহার করুন।
একটি উদাহরণ বাস্তবায়নের জন্য, দেখুন নমুনা সহ ফিড দেখুন।
সাপোর্টিং ফলক

সাপোর্টিং প্যান লেআউট অ্যাপের কন্টেন্টকে প্রাথমিক এবং মাধ্যমিক প্রদর্শন এলাকায় সংগঠিত করে।
প্রাথমিক প্রদর্শন এলাকাটি অ্যাপ উইন্ডোর বেশিরভাগ অংশ দখল করে (সাধারণত প্রায় দুই-তৃতীয়াংশ) এবং এতে মূল বিষয়বস্তু থাকে। সেকেন্ডারি প্রদর্শন এলাকাটি হল একটি ফলক যা অ্যাপ উইন্ডোর বাকি অংশ দখল করে এবং মূল বিষয়বস্তুকে সমর্থন করে এমন সামগ্রী উপস্থাপন করে।
ল্যান্ডস্কেপ ওরিয়েন্টেশনে সম্প্রসারিত-প্রস্থের ডিসপ্লেতে ( উইন্ডো আকারের ক্লাস ব্যবহার করুন দেখুন) সাপোর্টিং প্যান লেআউটগুলি ভালো কাজ করে। মাঝারি বা কমপ্যাক্ট-প্রস্থের ডিসপ্লেগুলি প্রাথমিক এবং মাধ্যমিক উভয় ডিসপ্লে এলাকা দেখানো সমর্থন করে যদি বিষয়বস্তু সংকীর্ণ ডিসপ্লে স্পেসের সাথে খাপ খাইয়ে নেওয়া যায়, অথবা অতিরিক্ত বিষয়বস্তু প্রাথমিকভাবে নীচে বা পাশের শীটে লুকানো যেতে পারে যা মেনু বা বোতামের মতো নিয়ন্ত্রণের মাধ্যমে অ্যাক্সেসযোগ্য।
একটি সাপোর্টিং প্যান লেআউট প্রাথমিক এবং গৌণ কন্টেন্টের সম্পর্কের ক্ষেত্রে একটি তালিকা-বিস্তারিত লেআউট থেকে আলাদা। গৌণ প্যান কন্টেন্ট শুধুমাত্র প্রাথমিক কন্টেন্টের সাথে সম্পর্কিত অর্থবহ; উদাহরণস্বরূপ, একটি সাপোর্টিং প্যান টুল উইন্ডো নিজেই অপ্রাসঙ্গিক। তবে, একটি তালিকা-বিস্তারিত লেআউটের বিশদ প্যানে সম্পূরক কন্টেন্ট প্রাথমিক কন্টেন্ট ছাড়াই অর্থবহ, উদাহরণস্বরূপ, একটি পণ্য তালিকা থেকে একটি পণ্যের বর্ণনা।
সাপোর্টিং প্যানের ব্যবহারের ক্ষেত্রে অন্তর্ভুক্ত:
- উৎপাদনশীলতা অ্যাপ: একটি ডকুমেন্ট বা স্প্রেডশিট যার সাথে একটি সাপোর্টিং প্যানে পর্যালোচকের মন্তব্য থাকবে।
- মিডিয়া অ্যাপস: একটি স্ট্রিমিং ভিডিও যা একটি সাপোর্টিং প্যানে সম্পর্কিত ভিডিওর তালিকা দ্বারা পরিপূরক , অথবা একটি প্লেলিস্টের সাথে সম্পূরক সঙ্গীতের অ্যালবামের চিত্রণ।
- টুলস এবং সেটিংস: একটি মিডিয়া এডিটিং টুল যেখানে প্যালেট, ইফেক্ট এবং অন্যান্য সেটিংস একটি সাপোর্ট প্যানে থাকে।
বাস্তবায়ন
একটি সহায়ক ফলক বিন্যাস একটি সহায়ক লেআউট যেমন LinearLayout বা ConstraintLayout ব্যবহার করে প্রয়োগ করা হয়। উইন্ডো আকারের ক্লাসগুলি স্থাপন করুন যা আপনার অ্যাপের জন্য উপলব্ধ অনুভূমিক প্রদর্শন স্থানের পরিমাণকে তিনটি বিভাগে ভাগ করে: কমপ্যাক্ট (<600dp), মাঝারি (>= 600dp), এবং প্রসারিত (>= 840dp)।
প্রতিটি উইন্ডো সাইজ ক্লাসের জন্য, লেআউটগুলি নিম্নরূপ সংজ্ঞায়িত করুন:
- কমপ্যাক্ট: অ্যাপ রিসোর্স
layoutফোল্ডারে, মূল বিষয়বস্তুর নীচে বা নীচের শীটের ভিতরে সহায়ক ফলক রেন্ডার করে এমন সামগ্রী রাখুন - মাঝারি:
layout-w600dpফোল্ডারে, সমর্থক ফলক সামগ্রী সরবরাহ করুন যা মূল বিষয়বস্তুতে পরিণত হয় এবং অনুভূমিক প্রদর্শন স্থানকে সমানভাবে বিভক্ত করে পাশাপাশি ফলক রেন্ডারিং সমর্থন করে - সম্প্রসারিত:
layout-w840dpফোল্ডারে, প্রধান বিষয়বস্তু এবং পাশাপাশি ফলক রেন্ডারিং সমর্থনকারী ফলক সামগ্রী অন্তর্ভুক্ত করুন; যাইহোক, সমর্থনকারী ফলক অনুভূমিক স্থানের মাত্র 30% নেয়, বাকি 70% মূল বিষয়বস্তুর জন্য রেখে দেয়
মূল বিষয়বস্তু এবং সমর্থনকারী ফলকের মধ্যে যোগাযোগের জন্য একটি ViewModel ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
, একটি সহায়ক ফলক বিন্যাস একটি সহায়ক লেআউট যেমন LinearLayout বা ConstraintLayout ব্যবহার করে প্রয়োগ করা হয়। উইন্ডো আকারের ক্লাসগুলি স্থাপন করুন যা আপনার অ্যাপের জন্য উপলব্ধ অনুভূমিক প্রদর্শন স্থানের পরিমাণকে তিনটি বিভাগে ভাগ করে: কমপ্যাক্ট (<600dp), মাঝারি (>= 600dp), এবং প্রসারিত (>= 840dp)।
প্রতিটি উইন্ডো সাইজ ক্লাসের জন্য, লেআউটগুলি নিম্নরূপ সংজ্ঞায়িত করুন:
- কমপ্যাক্ট: অ্যাপ রিসোর্স
layoutফোল্ডারে, মূল বিষয়বস্তুর নীচে বা নীচের শীটের ভিতরে সহায়ক ফলক রেন্ডার করে এমন সামগ্রী রাখুন - মাঝারি:
layout-w600dpফোল্ডারে, সমর্থক ফলক সামগ্রী সরবরাহ করুন যা মূল বিষয়বস্তুতে পরিণত হয় এবং অনুভূমিক প্রদর্শন স্থানকে সমানভাবে বিভক্ত করে পাশাপাশি ফলক রেন্ডারিং সমর্থন করে - সম্প্রসারিত:
layout-w840dpফোল্ডারে, প্রধান বিষয়বস্তু এবং পাশাপাশি ফলক রেন্ডারিং সমর্থনকারী ফলক সামগ্রী অন্তর্ভুক্ত করুন; যাইহোক, সমর্থনকারী ফলক অনুভূমিক স্থানের মাত্র 30% নেয়, বাকি 70% মূল বিষয়বস্তুর জন্য রেখে দেয়
মূল বিষয়বস্তু এবং সমর্থনকারী ফলকের মধ্যে যোগাযোগের জন্য একটি ViewModel ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
, একটি সহায়ক ফলক বিন্যাস একটি সহায়ক লেআউট যেমন LinearLayout বা ConstraintLayout ব্যবহার করে প্রয়োগ করা হয়। উইন্ডো আকারের ক্লাসগুলি স্থাপন করুন যা আপনার অ্যাপের জন্য উপলব্ধ অনুভূমিক প্রদর্শন স্থানের পরিমাণকে তিনটি বিভাগে ভাগ করে: কমপ্যাক্ট (<600dp), মাঝারি (>= 600dp), এবং প্রসারিত (>= 840dp)।
প্রতিটি উইন্ডো সাইজ ক্লাসের জন্য, লেআউটগুলি নিম্নরূপ সংজ্ঞায়িত করুন:
- কমপ্যাক্ট: অ্যাপ রিসোর্স
layoutফোল্ডারে, মূল বিষয়বস্তুর নীচে বা নীচের শীটের ভিতরে সহায়ক ফলক রেন্ডার করে এমন সামগ্রী রাখুন - মাঝারি:
layout-w600dpফোল্ডারে, সমর্থক ফলক সামগ্রী সরবরাহ করুন যা মূল বিষয়বস্তুতে পরিণত হয় এবং অনুভূমিক প্রদর্শন স্থানকে সমানভাবে বিভক্ত করে পাশাপাশি ফলক রেন্ডারিং সমর্থন করে - সম্প্রসারিত:
layout-w840dpফোল্ডারে, প্রধান বিষয়বস্তু এবং পাশাপাশি ফলক রেন্ডারিং সমর্থনকারী ফলক সামগ্রী অন্তর্ভুক্ত করুন; যাইহোক, সমর্থনকারী ফলক অনুভূমিক স্থানের মাত্র 30% নেয়, বাকি 70% মূল বিষয়বস্তুর জন্য রেখে দেয়
মূল বিষয়বস্তু এবং সমর্থনকারী ফলকের মধ্যে যোগাযোগের জন্য একটি ViewModel ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
, একটি সহায়ক ফলক বিন্যাস একটি সহায়ক লেআউট যেমন LinearLayout বা ConstraintLayout ব্যবহার করে প্রয়োগ করা হয়। উইন্ডো আকারের ক্লাসগুলি স্থাপন করুন যা আপনার অ্যাপের জন্য উপলব্ধ অনুভূমিক প্রদর্শন স্থানের পরিমাণকে তিনটি বিভাগে ভাগ করে: কমপ্যাক্ট (<600dp), মাঝারি (>= 600dp), এবং প্রসারিত (>= 840dp)।
প্রতিটি উইন্ডো সাইজ ক্লাসের জন্য, লেআউটগুলি নিম্নরূপ সংজ্ঞায়িত করুন:
- কমপ্যাক্ট: অ্যাপ রিসোর্স
layoutফোল্ডারে, মূল বিষয়বস্তুর নীচে বা নীচের শীটের ভিতরে সহায়ক ফলক রেন্ডার করে এমন সামগ্রী রাখুন - মাঝারি:
layout-w600dpফোল্ডারে, সমর্থক ফলক সামগ্রী সরবরাহ করুন যা মূল বিষয়বস্তুতে পরিণত হয় এবং অনুভূমিক প্রদর্শন স্থানকে সমানভাবে বিভক্ত করে পাশাপাশি ফলক রেন্ডারিং সমর্থন করে - সম্প্রসারিত:
layout-w840dpফোল্ডারে, প্রধান বিষয়বস্তু এবং পাশাপাশি ফলক রেন্ডারিং সমর্থনকারী ফলক সামগ্রী অন্তর্ভুক্ত করুন; যাইহোক, সমর্থনকারী ফলক অনুভূমিক স্থানের মাত্র 30% নেয়, বাকি 70% মূল বিষয়বস্তুর জন্য রেখে দেয়
মূল বিষয়বস্তু এবং সমর্থনকারী ফলকের মধ্যে যোগাযোগের জন্য একটি ViewModel ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।

প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।

অতিরিক্ত সম্পদ
- মেটেরিয়াল ডিজাইন — ক্যানোনিকাল লেআউট
ক্যানোনিকাল লেআউটগুলি প্রমাণিত, বহুমুখী লেআউট যা বিভিন্ন ফর্ম ফ্যাক্টরের উপর সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদান করে।

ক্যানোনিকাল লেআউটগুলি ছোট স্ক্রিনের ফোনের পাশাপাশি ট্যাবলেট, ফোল্ডেবল এবং ChromeOS ডিভাইসগুলিকেও সমর্থন করে। মেটেরিয়াল ডিজাইন নির্দেশিকা থেকে প্রাপ্ত, লেআউটগুলি নান্দনিক এবং কার্যকরী উভয়ই।
অ্যান্ড্রয়েড ফ্রেমওয়ার্কে বিশেষায়িত উপাদান রয়েছে যা লেআউটগুলির বাস্তবায়নকে সহজ এবং নির্ভরযোগ্য করে তোলে।
ক্যানোনিকাল লেআউটগুলি আকর্ষণীয়, উৎপাদনশীলতা-বর্ধক UI তৈরি করে যা দুর্দান্ত অ্যাপগুলির ভিত্তি তৈরি করে।
আপনি যদি ইতিমধ্যে অভিযোজিত অ্যাপ ক্যানোনিকাল লেআউটগুলির সাথে পরিচিত হন তবে কোন Android API ব্যবহার করবেন তা নিশ্চিত না হলে, আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউটটি সঠিক তা নির্ধারণ করতে সহায়তার জন্য প্রযোজ্যতা বিভাগে যান৷
,আপনি যদি ইতিমধ্যে অভিযোজিত অ্যাপ ক্যানোনিকাল লেআউটগুলির সাথে পরিচিত হন তবে কোন Android API ব্যবহার করবেন তা নিশ্চিত না হলে, আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউটটি সঠিক তা নির্ধারণ করতে সহায়তার জন্য প্রযোজ্যতা বিভাগে যান৷
,আপনি যদি ইতিমধ্যে অভিযোজিত অ্যাপ ক্যানোনিকাল লেআউটগুলির সাথে পরিচিত হন তবে কোন Android API ব্যবহার করবেন তা নিশ্চিত না হলে, আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউটটি সঠিক তা নির্ধারণ করতে সহায়তার জন্য প্রযোজ্যতা বিভাগে যান৷
,আপনি যদি ইতিমধ্যে অভিযোজিত অ্যাপ ক্যানোনিকাল লেআউটগুলির সাথে পরিচিত হন তবে কোন Android API ব্যবহার করবেন তা নিশ্চিত না হলে, আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউটটি সঠিক তা নির্ধারণ করতে সহায়তার জন্য প্রযোজ্যতা বিভাগে যান৷
তালিকা-বিস্তারিত

তালিকা-বিস্তারিত লেআউট ব্যবহারকারীদের বর্ণনামূলক, ব্যাখ্যামূলক, বা অন্যান্য সম্পূরক তথ্য - আইটেমের বিবরণ - সহ আইটেমের তালিকা অন্বেষণ করতে সক্ষম করে।
লেআউটটি অ্যাপ উইন্ডোটিকে দুটি পাশাপাশি দুটি প্যানে বিভক্ত করে: একটি তালিকার জন্য, একটি বিশদের জন্য। ব্যবহারকারীরা আইটেমের বিশদ প্রদর্শনের জন্য তালিকা থেকে আইটেম নির্বাচন করেন। বিশদের মধ্যে থাকা ডিপ লিঙ্কগুলি বিশদের প্যানে অতিরিক্ত সামগ্রী প্রকাশ করে।
প্রসারিত-প্রস্থ প্রদর্শন ( উইন্ডো আকারের ক্লাস ব্যবহার করুন দেখুন) একই সাথে তালিকা এবং বিশদ উভয়কেই সমন্বিত করে। একটি তালিকা আইটেম নির্বাচন নির্বাচিত আইটেমের জন্য সম্পর্কিত সামগ্রী দেখানোর জন্য বিশদ ফলক আপডেট করে।
মাঝারি এবং কমপ্যাক্ট-প্রস্থের ডিসপ্লেগুলি অ্যাপের সাথে ব্যবহারকারীর মিথস্ক্রিয়ার উপর নির্ভর করে তালিকা বা বিশদ প্রদর্শন করে। যখন কেবল তালিকাটি দৃশ্যমান হয়, তখন তালিকার আইটেম নির্বাচন করলে তালিকার পরিবর্তে বিশদ প্রদর্শন করা হয়। যখন কেবল বিশদটি দৃশ্যমান হয়, তখন পিছনের বোতাম টিপলে তালিকাটি পুনরায় প্রদর্শিত হয়।
ডিভাইসের ওরিয়েন্টেশন পরিবর্তন বা অ্যাপ উইন্ডোর আকার পরিবর্তনের মতো কনফিগারেশন পরিবর্তনগুলি ডিসপ্লের উইন্ডোর আকারের শ্রেণী পরিবর্তন করতে পারে। একটি তালিকা-বিস্তারিত লেআউট সেই অনুযায়ী সাড়া দেয়, অ্যাপের অবস্থা সংরক্ষণ করে:
- যদি একটি বর্ধিত-প্রস্থের ডিসপ্লে যেখানে তালিকা এবং বিস্তারিত উভয় প্যানেল দেখানো হয়, তা মাঝারি বা কম্প্যাক্টে সংকুচিত হয়, তাহলে বিস্তারিত প্যানেলটি দৃশ্যমান থাকে এবং তালিকা প্যানেলটি লুকানো থাকে।
- যদি একটি মাঝারি বা কমপ্যাক্ট-প্রস্থের ডিসপ্লেতে কেবল বিস্তারিত ফলকটি দৃশ্যমান হয় এবং উইন্ডো আকারের শ্রেণীটি প্রসারিত করার জন্য প্রশস্ত হয়, তাহলে তালিকা এবং বিস্তারিত একসাথে দেখানো হয় এবং তালিকাটি নির্দেশ করে যে বিস্তারিত ফলকের বিষয়বস্তুর সাথে সম্পর্কিত আইটেমটি নির্বাচন করা হয়েছে।
- যদি একটি মাঝারি বা কমপ্যাক্ট-প্রস্থের ডিসপ্লেতে কেবল তালিকার ফলকটি দৃশ্যমান হয় এবং প্রসারিত করার জন্য প্রশস্ত হয়, তাহলে তালিকা এবং একটি স্থানধারক বিশদ ফলক একসাথে দেখানো হয়।
তালিকা-বিস্তারিত মেসেজিং অ্যাপ , যোগাযোগ ব্যবস্থাপক , ইন্টারেক্টিভ মিডিয়া ব্রাউজার বা যেকোনো অ্যাপের জন্য আদর্শ যেখানে বিষয়বস্তু অতিরিক্ত তথ্য প্রকাশ করে এমন আইটেমের তালিকা হিসাবে সংগঠিত করা যেতে পারে।
বাস্তবায়ন
কম্পোজ, ভিউ এবং অ্যাক্টিভিটি এম্বেডিং (লেগেসি অ্যাপের জন্য) সহ বিভিন্ন প্রযুক্তির সাথে একটি তালিকা-বিশদ লেআউট তৈরি করা যেতে পারে। আপনার অ্যাপের জন্য কোন প্রযুক্তি সবচেয়ে উপযুক্ত তা নির্ধারণ করতে সহায়তার জন্য প্রযোজ্যতা বিভাগটি দেখুন।
SlidingPaneLayout লাইব্রেরিটি ভিউ বা খণ্ডের উপর ভিত্তি করে তালিকা-বিশদ লেআউট বাস্তবায়নের জন্য ডিজাইন করা হয়েছে।
প্রথমে, আপনার XML লেআউটের মূল উপাদান হিসাবে একটি SlidingPaneLayout ঘোষণা করুন। এরপরে, দুটি চাইল্ড এলিমেন্ট যোগ করুন - হয় ভিউ বা ফ্র্যাগমেন্ট - যা তালিকা এবং বিস্তারিত বিষয়বস্তুকে উপস্থাপন করে।
তালিকা-বিশদ দৃশ্য বা খণ্ডগুলির মধ্যে ডেটা পাস করার জন্য একটি যোগাযোগ পদ্ধতি প্রয়োগ করুন। ব্যবসায়িক যুক্তি সংরক্ষণ এবং কনফিগারেশন পরিবর্তনগুলি বেঁচে থাকার ক্ষমতার কারণে ViewModel সুপারিশ করা হয়।
SlidingPaneLayout স্বয়ংক্রিয়ভাবে নির্ধারণ করে যে তালিকা এবং বিশদ বিবরণ একসাথে বা পৃথকভাবে প্রদর্শন করা হবে কিনা। একটি উইন্ডোতে যেখানে উভয়ের জন্য পর্যাপ্ত অনুভূমিক স্থান রয়েছে, তালিকা এবং বিশদ পাশাপাশি প্রদর্শিত হবে। পর্যাপ্ত জায়গা নেই এমন একটি উইন্ডোতে, অ্যাপের সাথে ব্যবহারকারীর ইন্টারঅ্যাকশনের উপর নির্ভর করে তালিকা বা বিশদটি প্রদর্শিত হয়।
একটি উদাহরণ বাস্তবায়নের জন্য, স্লাইডিং প্যানের নমুনা সহ তালিকা-বিশদ দেখুন।
অ্যাক্টিভিটি এমবেডিং
লিগ্যাসি সক্ষম করতে অ্যাক্টিভিটি এমবেডিং ব্যবহার করুন, একাধিক অ্যাক্টিভিটি অ্যাপ একই স্ক্রিনে পাশাপাশি দুটি অ্যাক্টিভিটি দেখাতে বা স্ট্যাক করা (একটি ওভারলে অন্যটি)। যদি আপনার অ্যাপ আলাদা ক্রিয়াকলাপে একটি তালিকা-বিশদ বিন্যাসের তালিকা এবং বিশদ প্রয়োগ করে, তবে কার্যকলাপ এম্বেডিং আপনাকে ন্যূনতম বা কোনও কোড রিফ্যাক্টরিং সহ একটি তালিকা-বিশদ বিন্যাস তৈরি করতে সক্ষম করে।
একটি XML কনফিগারেশন ফাইল ব্যবহার করে একটি টাস্ক উইন্ডো স্প্লিট উল্লেখ করে অ্যাক্টিভিটি এমবেডিং বাস্তবায়ন করুন। বিভক্ত প্রাথমিক কার্যকলাপ সংজ্ঞায়িত করে, যা বিভাজন শুরু করে এবং একটি গৌণ কার্যকলাপ। উইন্ডো আকার ক্লাস ব্রেকপয়েন্ট ব্যবহার করে বিভাজনের জন্য একটি ন্যূনতম প্রদর্শন প্রস্থ নির্দিষ্ট করুন। যখন ডিসপ্লের প্রস্থ ন্যূনতম ব্রেকপয়েন্টের নিচে নেমে আসে, তখন ক্রিয়াকলাপগুলি একটিকে ওভারলে করে প্রদর্শিত হয়। উদাহরণস্বরূপ, ন্যূনতম ডিসপ্লে প্রস্থ 600dp হলে, ক্রিয়াকলাপগুলি কম্প্যাক্ট ডিসপ্লেতে অন্যটিকে ওভারলে করে, কিন্তু মাঝারি এবং প্রসারিত ডিসপ্লেতে পাশাপাশি প্রদর্শিত হয়।
অ্যাক্টিভিটি এম্বেডিং অ্যান্ড্রয়েড 12L (API লেভেল 32) এবং উচ্চতর তে সমর্থিত, তবে ডিভাইস নির্মাতাদের দ্বারা প্রয়োগ করা হলে নিম্ন API স্তরেও উপলব্ধ হতে পারে। যখন কোনো ডিভাইসে অ্যাক্টিভিটি এম্বেডিং উপলব্ধ না থাকে, তখন ফলব্যাক আচরণের ফলে তালিকার কার্যকলাপ বা বিস্তারিত অ্যাক্টিভিটি অ্যাপের সাথে ব্যবহারকারীর ইন্টারঅ্যাকশনের উপর ভিত্তি করে সমগ্র অ্যাপ উইন্ডো দখল করে।
আরও তথ্যের জন্য, অ্যাক্টিভিটি এম্বেডিং দেখুন।
একটি উদাহরণ বাস্তবায়নের জন্য, কার্যকলাপ এমবেডিং নমুনা সহ তালিকা-বিশদ দেখুন।
,অ্যাক্টিভিটি এমবেডিং
লিগ্যাসি সক্ষম করতে অ্যাক্টিভিটি এমবেডিং ব্যবহার করুন, একাধিক অ্যাক্টিভিটি অ্যাপ একই স্ক্রিনে পাশাপাশি দুটি অ্যাক্টিভিটি দেখাতে বা স্ট্যাক করা (একটি ওভারলে অন্যটি)। যদি আপনার অ্যাপ আলাদা ক্রিয়াকলাপে একটি তালিকা-বিশদ বিন্যাসের তালিকা এবং বিশদ প্রয়োগ করে, তবে কার্যকলাপ এম্বেডিং আপনাকে ন্যূনতম বা কোনও কোড রিফ্যাক্টরিং সহ একটি তালিকা-বিশদ বিন্যাস তৈরি করতে সক্ষম করে।
একটি XML কনফিগারেশন ফাইল ব্যবহার করে একটি টাস্ক উইন্ডো স্প্লিট উল্লেখ করে অ্যাক্টিভিটি এমবেডিং বাস্তবায়ন করুন। বিভক্ত প্রাথমিক কার্যকলাপ সংজ্ঞায়িত করে, যা বিভাজন শুরু করে এবং একটি গৌণ কার্যকলাপ। উইন্ডো আকার ক্লাস ব্রেকপয়েন্ট ব্যবহার করে বিভাজনের জন্য একটি ন্যূনতম প্রদর্শন প্রস্থ নির্দিষ্ট করুন। যখন ডিসপ্লের প্রস্থ ন্যূনতম ব্রেকপয়েন্টের নিচে নেমে আসে, তখন ক্রিয়াকলাপগুলি একটিকে ওভারলে করে প্রদর্শিত হয়। উদাহরণস্বরূপ, ন্যূনতম ডিসপ্লে প্রস্থ 600dp হলে, ক্রিয়াকলাপগুলি কম্প্যাক্ট ডিসপ্লেতে অন্যটিকে ওভারলে করে, কিন্তু মাঝারি এবং প্রসারিত ডিসপ্লেতে পাশাপাশি প্রদর্শিত হয়।
অ্যাক্টিভিটি এম্বেডিং অ্যান্ড্রয়েড 12L (API লেভেল 32) এবং উচ্চতর তে সমর্থিত, তবে ডিভাইস নির্মাতাদের দ্বারা প্রয়োগ করা হলে নিম্ন API স্তরেও উপলব্ধ হতে পারে। যখন কোনো ডিভাইসে অ্যাক্টিভিটি এম্বেডিং উপলব্ধ না থাকে, তখন ফলব্যাক আচরণের ফলে তালিকার কার্যকলাপ বা বিস্তারিত অ্যাক্টিভিটি অ্যাপের সাথে ব্যবহারকারীর ইন্টারঅ্যাকশনের উপর ভিত্তি করে সমগ্র অ্যাপ উইন্ডো দখল করে।
আরও তথ্যের জন্য, অ্যাক্টিভিটি এম্বেডিং দেখুন।
একটি উদাহরণ বাস্তবায়নের জন্য, কার্যকলাপ এমবেডিং নমুনা সহ তালিকা-বিশদ দেখুন।
খাওয়ান

একটি ফিড লেআউট একটি কনফিগারযোগ্য গ্রিডে সমতুল্য কন্টেন্ট উপাদানগুলিকে সাজিয়ে রাখে যাতে প্রচুর পরিমাণে কন্টেন্ট দ্রুত এবং সুবিধাজনকভাবে দেখা যায়।
আকার এবং অবস্থান বিষয়বস্তুর উপাদানগুলির মধ্যে সম্পর্ক স্থাপন করে।
উপাদানগুলিকে একই আকারে তৈরি করে এবং তাদের একসাথে স্থাপন করে কন্টেন্ট গ্রুপ তৈরি করা হয়। উপাদানগুলিকে কাছাকাছি উপাদানগুলির চেয়ে বড় করে তাদের প্রতি দৃষ্টি আকর্ষণ করা হয়।
কার্ড এবং তালিকা হল ফিড লেআউটের সাধারণ উপাদান।
একটি ফিড লেআউট প্রায় যেকোনো আকারের ডিসপ্লে সমর্থন করে কারণ গ্রিডটি একটি একক, স্ক্রলিং কলাম থেকে একাধিক-কলাম স্ক্রলিং কন্টেন্ট ফিডে অভিযোজিত হতে পারে।
ফিডগুলি বিশেষ করে সংবাদ এবং সোশ্যাল মিডিয়া অ্যাপের জন্য উপযুক্ত।
বাস্তবায়ন
একটি RecyclerView দক্ষতার সাথে একটি একক কলামে প্রচুর পরিমাণে আইটেম রেন্ডার করে। একটি GridLayoutManager আইটেম আকার এবং স্প্যান কনফিগারেশনের অনুমতি দেয়, একটি গ্রিডে আইটেমগুলি রাখে।
আইটেমগুলির জন্য ন্যূনতম অনুমোদিত প্রস্থ সেট করতে উপলব্ধ প্রদর্শন এলাকার আকারের উপর ভিত্তি করে গ্রিড কলামগুলি কনফিগার করুন৷
GridLayoutManager ডিফল্ট স্প্যানিং কৌশল, যা প্রতি আইটেম এক স্প্যান, একটি কাস্টম SpanSizeLookup তৈরি করে ওভাররাইড করা যেতে পারে। কিছু আইটেম অন্যদের উপর জোর দিতে স্প্যান সামঞ্জস্য করুন।
কমপ্যাক্ট-প্রস্থ প্রদর্শনে যেখানে শুধুমাত্র একটি কলামের জন্য পর্যাপ্ত স্থান রয়েছে, GridLayoutManager পরিবর্তে LinearLayoutManager ব্যবহার করুন।
একটি উদাহরণ বাস্তবায়নের জন্য, দেখুন নমুনা সহ ফিড দেখুন।
, একটি RecyclerView দক্ষতার সাথে একটি একক কলামে প্রচুর পরিমাণে আইটেম রেন্ডার করে। একটি GridLayoutManager আইটেম আকার এবং স্প্যান কনফিগারেশনের অনুমতি দেয়, একটি গ্রিডে আইটেমগুলি রাখে।
আইটেমগুলির জন্য ন্যূনতম অনুমোদিত প্রস্থ সেট করতে উপলব্ধ প্রদর্শন এলাকার আকারের উপর ভিত্তি করে গ্রিড কলামগুলি কনফিগার করুন৷
GridLayoutManager ডিফল্ট স্প্যানিং কৌশল, যা প্রতি আইটেম এক স্প্যান, একটি কাস্টম SpanSizeLookup তৈরি করে ওভাররাইড করা যেতে পারে। কিছু আইটেম অন্যদের উপর জোর দিতে স্প্যান সামঞ্জস্য করুন।
কমপ্যাক্ট-প্রস্থ প্রদর্শনে যেখানে শুধুমাত্র একটি কলামের জন্য পর্যাপ্ত স্থান রয়েছে, GridLayoutManager পরিবর্তে LinearLayoutManager ব্যবহার করুন।
একটি উদাহরণ বাস্তবায়নের জন্য, দেখুন নমুনা সহ ফিড দেখুন।
সাপোর্টিং ফলক

সাপোর্টিং প্যান লেআউট অ্যাপের কন্টেন্টকে প্রাথমিক এবং মাধ্যমিক প্রদর্শন এলাকায় সংগঠিত করে।
প্রাথমিক প্রদর্শন এলাকাটি অ্যাপ উইন্ডোর বেশিরভাগ অংশ দখল করে (সাধারণত প্রায় দুই-তৃতীয়াংশ) এবং এতে মূল বিষয়বস্তু থাকে। সেকেন্ডারি প্রদর্শন এলাকাটি হল একটি ফলক যা অ্যাপ উইন্ডোর বাকি অংশ দখল করে এবং মূল বিষয়বস্তুকে সমর্থন করে এমন সামগ্রী উপস্থাপন করে।
ল্যান্ডস্কেপ ওরিয়েন্টেশনে সম্প্রসারিত-প্রস্থের ডিসপ্লেতে ( উইন্ডো আকারের ক্লাস ব্যবহার করুন দেখুন) সাপোর্টিং প্যান লেআউটগুলি ভালো কাজ করে। মাঝারি বা কমপ্যাক্ট-প্রস্থের ডিসপ্লেগুলি প্রাথমিক এবং মাধ্যমিক উভয় ডিসপ্লে এলাকা দেখানো সমর্থন করে যদি বিষয়বস্তু সংকীর্ণ ডিসপ্লে স্পেসের সাথে খাপ খাইয়ে নেওয়া যায়, অথবা অতিরিক্ত বিষয়বস্তু প্রাথমিকভাবে নীচে বা পাশের শীটে লুকানো যেতে পারে যা মেনু বা বোতামের মতো নিয়ন্ত্রণের মাধ্যমে অ্যাক্সেসযোগ্য।
একটি সাপোর্টিং প্যান লেআউট প্রাথমিক এবং গৌণ কন্টেন্টের সম্পর্কের ক্ষেত্রে একটি তালিকা-বিস্তারিত লেআউট থেকে আলাদা। গৌণ প্যান কন্টেন্ট শুধুমাত্র প্রাথমিক কন্টেন্টের সাথে সম্পর্কিত অর্থবহ; উদাহরণস্বরূপ, একটি সাপোর্টিং প্যান টুল উইন্ডো নিজেই অপ্রাসঙ্গিক। তবে, একটি তালিকা-বিস্তারিত লেআউটের বিশদ প্যানে সম্পূরক কন্টেন্ট প্রাথমিক কন্টেন্ট ছাড়াই অর্থবহ, উদাহরণস্বরূপ, একটি পণ্য তালিকা থেকে একটি পণ্যের বর্ণনা।
সাপোর্টিং প্যানের ব্যবহারের ক্ষেত্রে অন্তর্ভুক্ত:
- উৎপাদনশীলতা অ্যাপ: একটি ডকুমেন্ট বা স্প্রেডশিট যার সাথে একটি সাপোর্টিং প্যানে পর্যালোচকের মন্তব্য থাকবে।
- মিডিয়া অ্যাপস: একটি স্ট্রিমিং ভিডিও যা একটি সাপোর্টিং প্যানে সম্পর্কিত ভিডিওর তালিকা দ্বারা পরিপূরক , অথবা একটি প্লেলিস্টের সাথে সম্পূরক সঙ্গীতের অ্যালবামের চিত্রণ।
- টুলস এবং সেটিংস: একটি মিডিয়া এডিটিং টুল যেখানে প্যালেট, ইফেক্ট এবং অন্যান্য সেটিংস একটি সাপোর্ট প্যানে থাকে।
বাস্তবায়ন
একটি সহায়ক ফলক বিন্যাস একটি সহায়ক লেআউট যেমন LinearLayout বা ConstraintLayout ব্যবহার করে প্রয়োগ করা হয়। উইন্ডো আকারের ক্লাসগুলি স্থাপন করুন যা আপনার অ্যাপের জন্য উপলব্ধ অনুভূমিক প্রদর্শন স্থানের পরিমাণকে তিনটি বিভাগে ভাগ করে: কমপ্যাক্ট (<600dp), মাঝারি (>= 600dp), এবং প্রসারিত (>= 840dp)।
প্রতিটি উইন্ডো সাইজ ক্লাসের জন্য, লেআউটগুলি নিম্নরূপ সংজ্ঞায়িত করুন:
- কমপ্যাক্ট: অ্যাপ রিসোর্স
layoutফোল্ডারে, মূল বিষয়বস্তুর নীচে বা নীচের শীটের ভিতরে সহায়ক ফলক রেন্ডার করে এমন সামগ্রী রাখুন - মাঝারি:
layout-w600dpফোল্ডারে, সমর্থক ফলক সামগ্রী সরবরাহ করুন যা মূল বিষয়বস্তুতে পরিণত হয় এবং অনুভূমিক প্রদর্শন স্থানকে সমানভাবে বিভক্ত করে পাশাপাশি ফলক রেন্ডারিং সমর্থন করে - সম্প্রসারিত:
layout-w840dpফোল্ডারে, প্রধান বিষয়বস্তু এবং পাশাপাশি ফলক রেন্ডারিং সমর্থনকারী ফলক সামগ্রী অন্তর্ভুক্ত করুন; যাইহোক, সমর্থনকারী ফলক অনুভূমিক স্থানের মাত্র 30% নেয়, বাকি 70% মূল বিষয়বস্তুর জন্য রেখে দেয়
মূল বিষয়বস্তু এবং সমর্থনকারী ফলকের মধ্যে যোগাযোগের জন্য একটি ViewModel ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
, একটি সহায়ক ফলক বিন্যাস একটি সহায়ক লেআউট যেমন LinearLayout বা ConstraintLayout ব্যবহার করে প্রয়োগ করা হয়। উইন্ডো আকারের ক্লাসগুলি স্থাপন করুন যা আপনার অ্যাপের জন্য উপলব্ধ অনুভূমিক প্রদর্শন স্থানের পরিমাণকে তিনটি বিভাগে ভাগ করে: কমপ্যাক্ট (<600dp), মাঝারি (>= 600dp), এবং প্রসারিত (>= 840dp)।
প্রতিটি উইন্ডো সাইজ ক্লাসের জন্য, লেআউটগুলি নিম্নরূপ সংজ্ঞায়িত করুন:
- কমপ্যাক্ট: অ্যাপ রিসোর্স
layoutফোল্ডারে, মূল বিষয়বস্তুর নীচে বা নীচের শীটের ভিতরে সহায়ক ফলক রেন্ডার করে এমন সামগ্রী রাখুন - মাঝারি:
layout-w600dpফোল্ডারে, সমর্থক ফলক সামগ্রী সরবরাহ করুন যা মূল বিষয়বস্তুতে পরিণত হয় এবং অনুভূমিক প্রদর্শন স্থানকে সমানভাবে বিভক্ত করে পাশাপাশি ফলক রেন্ডারিং সমর্থন করে - সম্প্রসারিত:
layout-w840dpফোল্ডারে, প্রধান বিষয়বস্তু এবং পাশাপাশি ফলক রেন্ডারিং সমর্থনকারী ফলক সামগ্রী অন্তর্ভুক্ত করুন; যাইহোক, সমর্থনকারী ফলক অনুভূমিক স্থানের মাত্র 30% নেয়, বাকি 70% মূল বিষয়বস্তুর জন্য রেখে দেয়
মূল বিষয়বস্তু এবং সমর্থনকারী ফলকের মধ্যে যোগাযোগের জন্য একটি ViewModel ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
, একটি সহায়ক ফলক বিন্যাস একটি সহায়ক লেআউট যেমন LinearLayout বা ConstraintLayout ব্যবহার করে প্রয়োগ করা হয়। উইন্ডো আকারের ক্লাসগুলি স্থাপন করুন যা আপনার অ্যাপের জন্য উপলব্ধ অনুভূমিক প্রদর্শন স্থানের পরিমাণকে তিনটি বিভাগে ভাগ করে: কমপ্যাক্ট (<600dp), মাঝারি (>= 600dp), এবং প্রসারিত (>= 840dp)।
প্রতিটি উইন্ডো সাইজ ক্লাসের জন্য, লেআউটগুলি নিম্নরূপ সংজ্ঞায়িত করুন:
- কমপ্যাক্ট: অ্যাপ রিসোর্স
layoutফোল্ডারে, মূল বিষয়বস্তুর নীচে বা নীচের শীটের ভিতরে সহায়ক ফলক রেন্ডার করে এমন সামগ্রী রাখুন - মাঝারি:
layout-w600dpফোল্ডারে, সমর্থক ফলক সামগ্রী সরবরাহ করুন যা মূল বিষয়বস্তুতে পরিণত হয় এবং অনুভূমিক প্রদর্শন স্থানকে সমানভাবে বিভক্ত করে পাশাপাশি ফলক রেন্ডারিং সমর্থন করে - সম্প্রসারিত:
layout-w840dpফোল্ডারে, প্রধান বিষয়বস্তু এবং পাশাপাশি ফলক রেন্ডারিং সমর্থনকারী ফলক সামগ্রী অন্তর্ভুক্ত করুন; যাইহোক, সমর্থনকারী ফলক অনুভূমিক স্থানের মাত্র 30% নেয়, বাকি 70% মূল বিষয়বস্তুর জন্য রেখে দেয়
মূল বিষয়বস্তু এবং সমর্থনকারী ফলকের মধ্যে যোগাযোগের জন্য একটি ViewModel ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
, একটি সহায়ক ফলক বিন্যাস একটি সহায়ক লেআউট যেমন LinearLayout বা ConstraintLayout ব্যবহার করে প্রয়োগ করা হয়। উইন্ডো আকারের ক্লাসগুলি স্থাপন করুন যা আপনার অ্যাপের জন্য উপলব্ধ অনুভূমিক প্রদর্শন স্থানের পরিমাণকে তিনটি বিভাগে ভাগ করে: কমপ্যাক্ট (<600dp), মাঝারি (>= 600dp), এবং প্রসারিত (>= 840dp)।
প্রতিটি উইন্ডো সাইজ ক্লাসের জন্য, লেআউটগুলি নিম্নরূপ সংজ্ঞায়িত করুন:
- কমপ্যাক্ট: অ্যাপ রিসোর্স
layoutফোল্ডারে, মূল বিষয়বস্তুর নীচে বা নীচের শীটের ভিতরে সহায়ক ফলক রেন্ডার করে এমন সামগ্রী রাখুন - মাঝারি:
layout-w600dpফোল্ডারে, সমর্থক ফলক সামগ্রী সরবরাহ করুন যা মূল বিষয়বস্তুতে পরিণত হয় এবং অনুভূমিক প্রদর্শন স্থানকে সমানভাবে বিভক্ত করে পাশাপাশি ফলক রেন্ডারিং সমর্থন করে - সম্প্রসারিত:
layout-w840dpফোল্ডারে, প্রধান বিষয়বস্তু এবং পাশাপাশি ফলক রেন্ডারিং সমর্থনকারী ফলক সামগ্রী অন্তর্ভুক্ত করুন; যাইহোক, সমর্থনকারী ফলক অনুভূমিক স্থানের মাত্র 30% নেয়, বাকি 70% মূল বিষয়বস্তুর জন্য রেখে দেয়
মূল বিষয়বস্তু এবং সমর্থনকারী ফলকের মধ্যে যোগাযোগের জন্য একটি ViewModel ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।

প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।

অতিরিক্ত সম্পদ
- মেটেরিয়াল ডিজাইন — ক্যানোনিকাল লেআউট