暗色模式

设置MaterialApp

MaterialApp(
    // ... 其他配置
    theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(
            seedColor: Colors.purple,
            brightness: darkMode ? Brightness.dark : Brightness.light,
        ),
        useMaterial3: true,
        textTheme: GoogleFonts.notoSansScTextTheme(),
    ),
    home: // 主页
)

自动切换到暗色模式

void autoDarkController(bool dark){
    if(autoDark){
        setState((){
            darkMode=dark;
        })
    }
}

@override
Widget build(BuildContext context) {
    final Brightness brightness = MediaQuery.of(context).platformBrightness;
    autoDarkController(brightness == Brightness.dark);

    return MaterialApp(
        // ...
    );
}

在桌面平台上切换window_manager按钮暗色模

// 其他按钮同理
return WindowCaptionButton.minimize(
    onPressed: minWindow,
    brightness: darkMode ? Brightness.dark : Brightness.light,
),