1
0
mirror of https://github.com/flutter/samples.git synced 2026-03-21 20:08:16 +00:00
Files
samples/cupertino_gallery/lib/widgets/radio_page.dart
Eric Windmill e61e3a96ad Cupertino gallery app (#2715)
Resolves #2519 

Part of the larger effort to bring the samples/repo into a stable and
maintainable condition that _also_ remains useful. See: #2409

## Pre-launch Checklist

- [x] I read the [Flutter Style Guide] _recently_, and have followed its
advice.
- [x] I signed the [CLA].
- [x] I read the [Contributors Guide].
- [x] I have added sample code updates to the [changelog].
- [x] I updated/added relevant documentation (doc comments with `///`).
2026-02-09 15:37:25 -08:00

47 lines
1.2 KiB
Dart

import 'package:flutter/cupertino.dart';
class RadioPage extends StatefulWidget {
const RadioPage({super.key});
@override
State<RadioPage> createState() => _RadioPageState();
}
class _RadioPageState extends State<RadioPage> {
int _selectedValue = 0;
@override
Widget build(BuildContext context) {
return CupertinoPageScaffold(
navigationBar: const CupertinoNavigationBar(middle: Text('Radio')),
child: Center(
child: RadioGroup(
groupValue: _selectedValue,
onChanged: (int? value) {
setState(() {
_selectedValue = value!;
});
},
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
CupertinoListTile(
title: const Text('Option 1'),
leading: CupertinoRadio<int>(value: 0),
),
CupertinoListTile(
title: const Text('Option 2'),
leading: CupertinoRadio<int>(value: 1),
),
CupertinoListTile(
title: const Text('Option 3'),
leading: CupertinoRadio<int>(value: 2),
),
],
),
),
),
);
}
}