1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-08 13:58:47 +00:00

[material_3_demo] Use switch expressions (#2193)

This commit is contained in:
Kevin Moore
2024-03-06 11:44:05 -08:00
committed by GitHub
parent e5f3bacaf8
commit 5b6d214d2a
3 changed files with 29 additions and 40 deletions

View File

@@ -357,15 +357,11 @@ class ColorChip extends StatelessWidget {
final Color? onColor; final Color? onColor;
final String label; final String label;
static Color contrastColor(Color color) { static Color contrastColor(Color color) =>
final brightness = ThemeData.estimateBrightnessForColor(color); switch (ThemeData.estimateBrightnessForColor(color)) {
switch (brightness) { Brightness.dark => Colors.white,
case Brightness.dark: Brightness.light => Colors.black
return Colors.white; };
case Brightness.light:
return Colors.black;
}
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {

View File

@@ -108,10 +108,11 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
} }
Widget createScreenFor( Widget createScreenFor(
ScreenSelected screenSelected, bool showNavBarExample) { ScreenSelected screenSelected,
bool showNavBarExample,
) =>
switch (screenSelected) { switch (screenSelected) {
case ScreenSelected.component: ScreenSelected.component => Expanded(
return Expanded(
child: OneTwoTransition( child: OneTwoTransition(
animation: railAnimation, animation: railAnimation,
one: FirstComponentList( one: FirstComponentList(
@@ -122,15 +123,11 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
scaffoldKey: scaffoldKey, scaffoldKey: scaffoldKey,
), ),
), ),
); ),
case ScreenSelected.color: ScreenSelected.color => const ColorPalettesScreen(),
return const ColorPalettesScreen(); ScreenSelected.typography => const TypographyScreen(),
case ScreenSelected.typography: ScreenSelected.elevation => const ElevationScreen()
return const TypographyScreen(); };
case ScreenSelected.elevation:
return const ElevationScreen();
}
}
PreferredSizeWidget createAppBar() { PreferredSizeWidget createAppBar() {
return AppBar( return AppBar(

View File

@@ -47,17 +47,13 @@ class _AppState extends State<App> {
ColorScheme? imageColorScheme = const ColorScheme.light(); ColorScheme? imageColorScheme = const ColorScheme.light();
ColorSelectionMethod colorSelectionMethod = ColorSelectionMethod.colorSeed; ColorSelectionMethod colorSelectionMethod = ColorSelectionMethod.colorSeed;
bool get useLightMode { bool get useLightMode => switch (themeMode) {
switch (themeMode) { ThemeMode.system =>
case ThemeMode.system: View.of(context).platformDispatcher.platformBrightness ==
return View.of(context).platformDispatcher.platformBrightness == Brightness.light,
Brightness.light; ThemeMode.light => true,
case ThemeMode.light: ThemeMode.dark => false
return true; };
case ThemeMode.dark:
return false;
}
}
void handleBrightnessChange(bool useLightMode) { void handleBrightnessChange(bool useLightMode) {
setState(() { setState(() {