1
0
mirror of https://github.com/flutter/samples.git synced 2026-08-25 01:21:59 +00:00
Files
samples/cupertino_gallery/lib/gallery_home.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

53 lines
1.4 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'settings_page.dart';
import 'widgets_page.dart';
class GalleryHome extends StatelessWidget {
const GalleryHome({
super.key,
required this.onThemeChange,
required this.isDarkMode,
required this.onTextSizeChange,
required this.textSize,
});
final ValueChanged<bool> onThemeChange;
final bool isDarkMode;
final ValueChanged<double> onTextSizeChange;
final double textSize;
@override
Widget build(BuildContext context) {
return CupertinoTabScaffold(
tabBar: CupertinoTabBar(
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.list_bullet),
label: 'Widgets',
),
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.settings),
label: 'Settings',
),
],
),
tabBuilder: (context, index) {
return CupertinoTabView(
builder: (context) {
return switch (index) {
0 => const WidgetsPage(),
1 => SettingsPage(
onThemeChange: onThemeChange,
isDarkMode: isDarkMode,
onTextSizeChange: onTextSizeChange,
textSize: textSize,
),
_ => const Center(child: Text('Widgets')),
};
},
);
},
);
}
}