রেডিও বাটন ব্যবহারকারীকে একাধিক বিকল্পের মধ্য থেকে একটি বেছে নিতে সাহায্য করে। যখন কোনো তালিকা থেকে কেবল একটি আইটেম নির্বাচন করা যায়, তখন রেডিও বাটন ব্যবহার করতে হয়। যদি ব্যবহারকারীদের একাধিক আইটেম নির্বাচন করার প্রয়োজন হয়, তবে এর পরিবর্তে একটি সুইচ ব্যবহার করুন।
এপিআই পৃষ্ঠ
উপলব্ধ বিকল্পগুলি তালিকাভুক্ত করতে RadioButton কম্পোজেবল ব্যবহার করুন। প্রতিটি RadioButton বিকল্প এবং তার লেবেলকে একটি Row কম্পোনেন্টের মধ্যে রেখে সেগুলিকে একসাথে গ্রুপ করুন।
RadioButton নিম্নলিখিত মূল প্যারামিটারগুলো অন্তর্ভুক্ত রয়েছে:
-
selected: রেডিও বাটনটি নির্বাচিত কিনা তা নির্দেশ করে। -
onClick: একটি ল্যাম্বডা ফাংশন যা ব্যবহারকারী রেডিও বাটনে ক্লিক করলে আপনার অ্যাপ কার্যকর করে। এটিnullহলে, ব্যবহারকারী সরাসরি রেডিও বাটনটির সাথে ইন্টারঅ্যাক্ট করতে পারবে না। -
enabled: রেডিও বাটনটি সক্রিয় থাকবে নাকি নিষ্ক্রিয় থাকবে তা নিয়ন্ত্রণ করে। নিষ্ক্রিয় রেডিও বাটনের সাথে ব্যবহারকারীরা কোনো মিথস্ক্রিয়া করতে পারে না। -
interactionSource: এর মাধ্যমে আপনি বাটনটির ইন্টারঅ্যাকশন অবস্থা পর্যবেক্ষণ করতে পারবেন, যেমন—বাটনটি চাপা আছে, এর উপর মাউস রাখা হয়েছে, বা এতে ফোকাস করা হয়েছে কিনা।
একটি সাধারণ রেডিও বাটন তৈরি করুন
নিম্নলিখিত কোড স্নিপেটটি একটি Column মধ্যে রেডিও বাটনগুলির একটি তালিকা রেন্ডার করে:
@Composable fun RadioButtonSingleSelection(modifier: Modifier = Modifier) { val radioOptions = listOf("Calls", "Missed", "Friends") val (selectedOption, onOptionSelected) = remember { mutableStateOf(radioOptions[0]) } // Note that Modifier.selectableGroup() is essential to ensure correct accessibility behavior Column(modifier.selectableGroup()) { radioOptions.forEach { text -> Row( Modifier .fillMaxWidth() .height(56.dp) .selectable( selected = (text == selectedOption), onClick = { onOptionSelected(text) }, role = Role.RadioButton ) .padding(horizontal = 16.dp), verticalAlignment = Alignment.CenterVertically ) { RadioButton( selected = (text == selectedOption), onClick = null // null recommended for accessibility with screen readers ) Text( text = text, style = MaterialTheme.typography.bodyLarge, modifier = Modifier.padding(start = 16.dp) ) } } } }
কোড সম্পর্কে মূল বিষয়গুলো
-
radioOptionsহলো রেডিও বাটনগুলোর লেবেল। -
rememberকম্পোজেবল ফাংশনটিselectedOptionএকটি স্টেট ভ্যারিয়েবল এবং সেই স্টেট আপডেট করার জন্যonOptionSelectedনামে একটি ফাংশন তৈরি করে। এই স্টেটটি নির্বাচিত রেডিও বাটন অপশনটি ধারণ করে।-
mutableStateOf(radioOptions[0])স্টেটকে তালিকার প্রথম আইটেমে ইনিশিয়ালাইজ করে। "Calls" হলো প্রথম আইটেম, তাই এটি ডিফল্টরূপে নির্বাচিত রেডিও বাটন।
-
-
Modifier.selectableGroup()স্ক্রিন রিডারদের জন্য যথাযথ অ্যাক্সেসিবিলিটি আচরণ নিশ্চিত করে। এটি সিস্টেমকে জানায় যে এইColumnঅন্তর্ভুক্ত উপাদানগুলো একটি নির্বাচনযোগ্য গ্রুপের অংশ, যা স্ক্রিন রিডারের জন্য সঠিক সমর্থন সক্ষম করে। -
Modifier.selectable()পুরোRowএকটি একক নির্বাচনযোগ্য আইটেম হিসেবে কাজ করায়।-
selectedনির্দেশ করে যেselectedOptionঅবস্থার উপর ভিত্তি করে বর্তমানRowনির্বাচিত হয়েছে কিনা। - যখন
Rowক্লিক করা হয়, তখনonClickল্যাম্বডা ফাংশনটিselectedOptionস্টেটকে ক্লিক করা অপশন অনুযায়ী আপডেট করে। -
role = Role.RadioButtonঅ্যাক্সেসিবিলিটি পরিষেবাগুলিকে জানায় যেRowএকটি রেডিও বোতাম হিসাবে কাজ করে।
-
-
RadioButton(...)একটিRadioButtonকম্পোজেবল তৈরি করে।-
RadioButtonএonClick = nullঅ্যাক্সেসিবিলিটি উন্নত হয়। এর ফলে রেডিও বাটনটি সরাসরি ক্লিক ইভেন্ট হ্যান্ডেল করতে পারে না, এবংRowএরselectableমডিফায়ার সিলেকশন স্টেট ও অ্যাক্সেসিবিলিটি আচরণ নিয়ন্ত্রণ করে।
-
ফলাফল

অতিরিক্ত সম্পদ
- উপাদান ডিজাইন: বোতাম