1
0
mirror of https://github.com/flutter/samples.git synced 2026-08-25 01:21:59 +00:00
Files
samples/cupertino_gallery/lib/widgets_page.dart
Eric Windmill 0c5ca75d29 Release 3.47 (#2879)
Minor updates for release 3.47

## 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 `///`).


If you need help, consider asking for advice on the #hackers-devrel
channel on [Discord].

<!-- Links -->
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Style-guide-for-Flutter-repo.md
[CLA]: https://cla.developers.google.com/
[Discord]:
https://github.com/flutter/flutter/blob/master/docs/contributing/Chat.md
[Contributors Guide]:
https://github.com/flutter/samples/blob/main/CONTRIBUTING.md
[changelog]: ../CHANGELOG.md

---------

Co-authored-by: Parker Lougheed <parlough@gmail.com>
2026-08-12 12:21:23 -07:00

76 lines
2.7 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'widget_detail_page.dart';
class WidgetsPage extends StatelessWidget {
const WidgetsPage({super.key});
@override
Widget build(BuildContext context) {
return CupertinoPageScaffold(
child: CustomScrollView(
slivers: <Widget>[
CupertinoSliverNavigationBar(largeTitle: Text('Cupertino Gallery')),
SliverFillRemaining(
child: ListView(
children: [
CustomCupertinoListTile(title: 'Action Sheet'),
CustomCupertinoListTile(title: 'Activity Indicator'),
CustomCupertinoListTile(title: 'Alert Dialog'),
CustomCupertinoListTile(title: 'Button'),
CustomCupertinoListTile(title: 'Checkbox'),
CustomCupertinoListTile(title: 'Context Menu'),
CustomCupertinoListTile(title: 'Date Picker'),
CustomCupertinoListTile(title: 'List Tile'),
CustomCupertinoListTile(title: 'Picker'),
CustomCupertinoListTile(title: 'Popup Surface'),
CustomCupertinoListTile(title: 'Radio'),
CustomCupertinoListTile(title: 'Scrollbar'),
CustomCupertinoListTile(title: 'Search Text Field'),
CustomCupertinoListTile(title: 'Segmented Control'),
CustomCupertinoListTile(title: 'Sheet'),
CustomCupertinoListTile(title: 'Slider'),
CustomCupertinoListTile(title: 'Sliding Segmented Control'),
CustomCupertinoListTile(title: 'Switch'),
CustomCupertinoListTile(title: 'Text Field'),
CustomCupertinoListTile(title: 'Text Theme'),
CustomCupertinoListTile(title: 'Time Picker'),
],
),
),
],
),
);
}
}
class CustomCupertinoListTile extends StatelessWidget {
const CustomCupertinoListTile({super.key, required this.title});
final String title;
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
Navigator.of(context).push(
CupertinoPageRoute<void>(
builder: (context) {
return WidgetDetailPage(title: title);
},
),
);
},
child: Container(
padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 12.0),
decoration: const BoxDecoration(
border: Border(bottom: BorderSide(color: CupertinoColors.separator)),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[Text(title), const Icon(CupertinoIcons.forward)],
),
),
);
}
}