Вот пример кода для создания группы переключателей с помощью Flutter:
import 'package:flutter/material.dart';
class RadioGroupWidget extends StatefulWidget {
@override
RadioGroupWidgetState createState() => RadioGroupWidgetState();
}
class RadioGroupWidgetState extends State<RadioGroupWidget> {
int selectedRadio = 0;
setSelectedRadio(int val) {
setState(() {
selectedRadio = val;
});
}
@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
RadioListTile(
value: 1,
groupValue: selectedRadio,
title: Text("Option 1"),
onChanged: (val) {
setSelectedRadio(val);
},
),
RadioListTile(
value: 2,
groupValue: selectedRadio,
title: Text("Option 2"),
onChanged: (val) {
setSelectedRadio(val);
},
),
RadioListTile(
value: 3,
groupValue: selectedRadio,
title: Text("Option 3"),
onChanged: (val) {
setSelectedRadio(val);
},
),
],
);
}
}
void main() {
runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Radio Button Group'),
),
body: RadioGroupWidget(),
),
));
}
В этом примере мы создаем класс RadioGroupWidget
, который расширяет StatefulWidget
. Он сохраняет выбранное значение переключателя с помощью переменной selectedRadio
и обновляет его с помощью метода setSelectedRadio
.
Внутри метода build
мы используем виджет Column
для отображения списка виджетов RadioListTile
. Каждый RadioListTile
представляет собой параметр переключателя с уникальным значением. Свойству groupValue
присвоено значение selectedRadio
, а обратный вызов onChanged
используется для обновления выбранного переключателя.
В функции main
мы оборачиваем RadioGroupWidget
MaterialApp
и отображаем его в Scaffold
с помощью AppBar
для заголовка.