আপনার UI কম্পোনেন্ট স্ট্রাকচার ও সাজাতে সাহায্য করার জন্য Jetpack Compose
একাধিক লেআউট কন্টেনার প্রদান করে। Row এবং
Column-এর মতো মৌলিক লেআউট কম্পোজেবলগুলি সহজ ব্যবস্থা পরিচালনা করে, তবে স্ক্রিনের আকার পরিবর্তন এবং ব্যবহারকারীর ডেটা বৃদ্ধির সাথে সাথে অনেক অ্যাপের আরও প্রতিক্রিয়াশীল
এবং অভিযোজিত কন্টেইনার সমাধানের প্রয়োজন হয়।
লে-আউট কন্টেনারে নিম্নলিখিতগুলি অন্তর্ভুক্ত থাকে:
- লেজি লিস্ট ও লেজি গ্রিড:
LazyColumn,LazyRowওLazyVerticalGrid-এর মতো কম্পোনেন্ট যা বর্তমানে ভিউপোর্টে দেখা যাচ্ছে এমন আইটেম কম্পোজ ও লেআউট করার মাধ্যমে দক্ষতার সাথে বড় বা ডায়নামিক সাইজের ডেটা সেট দেখায়। - পেজার:
HorizontalPagerএবংVerticalPager-এর মতো কন্টেনার যা ব্যবহারকারীদের কন্টেন্টের পৃষ্ঠাগুলির মধ্যে সোয়াইপ বা স্ক্রল করতে দেয়। - ফ্লো লেআউট: রেসপন্সিভ এক-মাত্রিক কন্টেনার
(
FlowRowএবংFlowColumn) যা জায়গা শেষ হয়ে গেলে উপচে পড়া আইটেমগুলিকে অটোমেটিক পরবর্তী সারি বা কলামে র্যাপ করে। - গ্রিড: একটি ফ্লেক্সিবল, দ্বিমাত্রিক স্ট্রাকচার যা কন্টেনারের সাইজ অনুযায়ী মাল্টি-কলাম বা মাল্টি-রো লেআউটে আইটেম দেখায়।
- FlexBox: CSS Flexbox-এর দ্বারা অনুপ্রাণিত, অ্যাডাপ্টিভ কন্টেনার যা উপলভ্য স্পেস পূরণ করার জন্য আইটেম কীভাবে র্যাপ, বড়, ছোট এবং প্রধান ও ক্রস অক্ষ বরাবর অ্যালাইন করা হবে তার উপর গ্র্যানুলার কন্ট্রোল প্রদান করে।
সঠিক লেআউট কন্টেনার বেছে নিন
Compose-এ লেআউট তৈরি করার সময়, বেসিক ও আরও উন্নত লেআউট কন্টেনারের মধ্যে থেকে বেছে নেওয়া আপনার ডিজাইনের উপর নির্ভর করে, যেমন জায়গা কম থাকলে আইটেম র্যাপ করতে হবে কিনা এবং আইটেম কীভাবে ডায়নামিক পদ্ধতিতে ছোট বড় করা হবে।
নিচের সারণীতে প্রতিটি Compose 1D লেআউট কন্টেনারের ক্ষমতার সংক্ষিপ্ত বিবরণ দেওয়া হল:
কন্টেনার |
আইটেম নতুন লাইনে র্যাপ করে |
প্রতিটি আইটেম বড় করা |
প্রতি আইটেম সঙ্কুচিত করা |
প্রতিটি আইটেমের প্রাথমিক সাইজ |
একাধিক লাইনে উপলভ্য জায়গা পূরণ করার জন্য আইটেম বড় হয় |
আইটেম আবার সাজান |
ধীরে ধীরে লোড করা |
এগুলির জন্য সেরা: |
সারি / কলাম |
❌ |
✅ ( |
❌ |
❌ |
❌ |
❌ |
❌ |
|
FlowRow / FlowColumn |
✅ |
সীমিত |
❌ |
❌ |
আংশিক |
❌ |
❌ |
|
LazyRow / LazyColumn |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
✅ |
|
FlexBox |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
❌ |
|
নিচের সারণীতে Grid এবং অন্যান্য একই ধরনের কম্পোজেবলের
ক্ষমতার সংক্ষিপ্ত বিবরণ দেওয়া হল:
কন্টেনার |
কঠোর 2D অ্যালাইনমেন্ট |
আইটেম স্প্যানিং (কলাম) |
আইটেম স্প্যানিং (সারি) |
ধীরে ধীরে লোড করা |
এগুলির জন্য সেরা: |
গ্রিড |
✅ |
✅ ( |
✅ |
❌ |
|
LazyVerticalGrid |
✅ |
✅ ( |
❌ |
✅ |
|
LazyStaggeredGrid |
❌ (শুধু ১D) |
আংশিক (শুধুমাত্র সম্পূর্ণ স্প্যান) |
❌ |
✅ |
|
LazyHorizontalGrid |
✅ |
❌ |
✅ |
✅ |
|
সারি ও কলাম একত্রিত করা |
❌ |
❌ |
❌ |
❌ |
|