ব্যবহারকারীদের পাশাপাশি বিকল্পগুলির একটি সেট থেকে বেছে নেওয়ার জন্য একটি বিভাগযুক্ত বোতাম ব্যবহার করুন৷ দুটি ধরণের সেগমেন্টেড বোতাম রয়েছে:
- একক-নির্বাচন বোতাম : ব্যবহারকারীদের একটি বিকল্প বেছে নিতে দেয়।
- মাল্টি-সিলেক্ট বোতাম : ব্যবহারকারীদের দুই থেকে পাঁচটি আইটেমের মধ্যে বেছে নিতে দেয়। আরও জটিল পছন্দ বা পাঁচটির বেশি আইটেমের জন্য চিপস ব্যবহার করুন।

API পৃষ্ঠ
সেগমেন্টেড বোতাম তৈরি করতে SingleChoiceSegmentedButtonRow এবং MultiChoiceSegmentedButtonRow লেআউট ব্যবহার করুন। এই লেআউটগুলির অবস্থান এবং SegmentedButton বোতামের আকার সঠিকভাবে, এবং নিম্নলিখিত কী প্যারামিটারগুলি ভাগ করুন:
-
space: বোতামগুলির মধ্যে ওভারল্যাপ সামঞ্জস্য করে। -
content: সেগমেন্টেড বোতাম সারির বিষয়বস্তু ধারণ করে, যা সাধারণতSegmentedButtonবাটনের একটি ক্রম।
একটি একক-নির্বাচন সেগমেন্টেড বোতাম তৈরি করুন
এই উদাহরণটি দেখায় কিভাবে একটি একক-নির্বাচন সেগমেন্টেড বোতাম তৈরি করতে হয়:
@Composable fun SingleChoiceSegmentedButton(modifier: Modifier = Modifier) { var selectedIndex by remember { mutableIntStateOf(0) } val options = listOf("Day", "Month", "Week") SingleChoiceSegmentedButtonRow { options.forEachIndexed { index, label -> SegmentedButton( shape = SegmentedButtonDefaults.itemShape( index = index, count = options.size ), onClick = { selectedIndex = index }, selected = index == selectedIndex, label = { Text(label) } ) } } }
কোড সম্পর্কে মূল পয়েন্ট
- নির্বাচিত বোতাম সূচী ট্র্যাক করতে
rememberএবংmutableIntStateOfব্যবহার করে একটিselectedIndexভেরিয়েবল শুরু করে। - বোতাম লেবেল প্রতিনিধিত্বকারী
optionsএকটি তালিকা সংজ্ঞায়িত করে। -
SingleChoiceSegmentedButtonRowআপনাকে শুধুমাত্র একটি বোতাম নির্বাচন করতে দেয়। -
forEachIndexedলুপের ভিতরে প্রতিটি বিকল্পের জন্য একটিSegmentedButtonতৈরি করে:-
shapeবোতামের আকৃতি নির্ধারণ করে তার সূচকের উপর ভিত্তি করে এবংSegmentedButtonDefaults.itemShapeব্যবহার করে বিকল্পের মোট গণনার উপর ভিত্তি করে। - ক্লিক করা বোতামের সূচী সহ
onClickআপডেটselectedIndex। -
selectedselectedIndexউপর ভিত্তি করে বাটনের নির্বাচনের অবস্থা সেট করে। -
labelTextকম্পোজেবল ব্যবহার করে বোতাম লেবেল প্রদর্শন করে।
-
ফলাফল

একটি মাল্টি-সিলেক্ট সেগমেন্টেড বোতাম তৈরি করুন
এই উদাহরণটি দেখায় কিভাবে আইকন সহ একটি মাল্টি-চয়েস সেগমেন্টেড বোতাম তৈরি করতে হয় যা ব্যবহারকারীদের একাধিক বিকল্প নির্বাচন করতে দেয়:
@Composable fun MultiChoiceSegmentedButton(modifier: Modifier = Modifier) { val selectedOptions = remember { mutableStateListOf(false, false, false) } val options = listOf("Walk", "Ride", "Drive") MultiChoiceSegmentedButtonRow { options.forEachIndexed { index, label -> SegmentedButton( shape = SegmentedButtonDefaults.itemShape( index = index, count = options.size ), checked = selectedOptions[index], onCheckedChange = { selectedOptions[index] = !selectedOptions[index] }, icon = { SegmentedButtonDefaults.Icon(selectedOptions[index]) }, label = { when (label) { "Walk" -> Icon( imageVector = Icons.AutoMirrored.Filled.DirectionsWalk, contentDescription = "Directions Walk" ) "Ride" -> Icon( imageVector = Icons.Default.DirectionsBus, contentDescription = "Directions Bus" ) "Drive" -> Icon( imageVector = Icons.Default.DirectionsCar, contentDescription = "Directions Car" ) } } ) } } }
কোড সম্পর্কে মূল পয়েন্ট
- কোডটি
rememberএবংmutableStateListOfব্যবহার করেselectedOptionsপরিবর্তনশীলকে আরম্ভ করে। এটি প্রতিটি বোতামের নির্বাচিত অবস্থা ট্র্যাক করে। - কোডটি বোতামগুলি ধারণ করতে
MultiChoiceSegmentedButtonRowব্যবহার করে। -
forEachIndexedলুপের ভিতরে, কোডটি প্রতিটি বিকল্পের জন্য একটিSegmentedButtonতৈরি করে:-
shapeবোতামের সূচী এবং বিকল্পের মোট গণনার উপর ভিত্তি করে এর আকৃতি নির্ধারণ করে। -
checkedবাটনের চেক করা অবস্থাselectedOptionsসংশ্লিষ্ট মানের উপর ভিত্তি করে সেট করে। -
onCheckedChangeবাটনটি ক্লিক করা হলেselectedOptionsসংশ্লিষ্ট আইটেমের নির্বাচিত অবস্থা টগল করে। -
iconSegmentedButtonDefaults.Iconএবং বোতামের চেক করা অবস্থার উপর ভিত্তি করে একটি আইকন প্রদর্শন করে। - উপযুক্ত ইমেজ ভেক্টর এবং বিষয়বস্তুর বিবরণ সহ
Iconকম্পোজেবল ব্যবহার করেlabelলেবেলের সাথে সম্পর্কিত একটি আইকন প্রদর্শন করে।
-
ফলাফল

অতিরিক্ত সম্পদ
- উপাদান 3: সেগমেন্টেড বোতাম