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

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: (BuildContext context, int index) {
return CupertinoTabView(
builder: (BuildContext context) {
return switch (index) {
0 => const WidgetsPage(),
1 => SettingsPage(
onThemeChange: onThemeChange,
isDarkMode: isDarkMode,
onTextSizeChange: onTextSizeChange,
textSize: textSize,
),
_ => const Center(child: Text('Widgets')),
};
},
);
},
);
}
}