ক্যানোনিকাল লেআউটগুলি প্রমাণিত, বহুমুখী লেআউট যা বিভিন্ন ফর্ম ফ্যাক্টরের উপর একটি সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদান করে।
ক্যানোনিকাল লেআউটগুলি ছোট স্ক্রিনের ফোনগুলির পাশাপাশি ট্যাবলেট, ফোল্ডেবল এবং 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
ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।
,প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।
অতিরিক্ত সম্পদ
- মেটেরিয়াল ডিজাইন — ক্যানোনিকাল লেআউট
ক্যানোনিকাল লেআউটগুলি প্রমাণিত, বহুমুখী লেআউট যা বিভিন্ন ফর্ম ফ্যাক্টরের উপর একটি সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদান করে।
ক্যানোনিকাল লেআউটগুলি ছোট স্ক্রিনের ফোনগুলির পাশাপাশি ট্যাবলেট, ফোল্ডেবল এবং 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
ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।
,প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।
অতিরিক্ত সম্পদ
- মেটেরিয়াল ডিজাইন — ক্যানোনিকাল লেআউট
ক্যানোনিকাল লেআউটগুলি প্রমাণিত, বহুমুখী লেআউট যা বিভিন্ন ফর্ম ফ্যাক্টরের উপর একটি সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদান করে।
ক্যানোনিকাল লেআউটগুলি ছোট স্ক্রিনের ফোনগুলির পাশাপাশি ট্যাবলেট, ফোল্ডেবল এবং 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
ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।
,প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।
অতিরিক্ত সম্পদ
- মেটেরিয়াল ডিজাইন — ক্যানোনিকাল লেআউট
ক্যানোনিকাল লেআউটগুলি প্রমাণিত, বহুমুখী লেআউট যা বিভিন্ন ফর্ম ফ্যাক্টরের উপর একটি সর্বোত্তম ব্যবহারকারীর অভিজ্ঞতা প্রদান করে।
ক্যানোনিকাল লেআউটগুলি ছোট স্ক্রিনের ফোনগুলির পাশাপাশি ট্যাবলেট, ফোল্ডেবল এবং 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
ব্যবহার করুন, তা ভিউ, টুকরো বা সংমিশ্রণ ব্যবহার করে।
বাস্তবায়ন উদাহরণের জন্য, নিম্নলিখিত নমুনা দেখুন:
প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।
,প্রযোজ্যতা
ক্যানোনিকাল লেআউটগুলি সহজে অ্যাক্সেস এবং গভীর অন্বেষণের জন্য সামগ্রীর বহুমুখী উপস্থাপনা তৈরি করে। আপনার অ্যাপের ব্যবহারের ক্ষেত্রে কোন লেআউট এবং বাস্তবায়ন কৌশলটি সর্বোত্তম তা নির্ধারণ করতে নিম্নলিখিত ফ্লোচার্টটি ব্যবহার করুন৷
বিভিন্ন ধরনের অ্যাপে বাস্তবায়িত ক্যানোনিকাল লেআউটের উদাহরণের জন্য, বড় পর্দার গ্যালারি দেখুন।
অতিরিক্ত সম্পদ
- মেটেরিয়াল ডিজাইন — ক্যানোনিকাল লেআউট