Flutter:根据设备 ligth/dark 模式更改应用程序亮度

Flutter: change app-brightness according to device ligth/dark mode

设置

在flutter app的main-class中:

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        brightness: Brightness.dark,
      ),
      home: Scaffold(
        body: Example(),
      ),
    );
  }
}

您可以将 ThemeData 亮度设置为暗或亮。 (我认为只能从 Android OS 10.0,API 29 开始)您可以在设备设置中选择屏幕色调(亮 | 暗)。

示例(OP7 专业版)

Settings > Customisation > Tone > Colourful | Light |Dark

在深色模式下打开某些应用程序(例如chrome)时,应用程序设置为深色。打开其他应用程序不会发生这种情况。

问题:

1) 如果您未设置任何 ThemeData 亮度,您的应用程序亮度是否会根据设备色调设置动态更新?(无法自行测试自动取款机)

2) 如果不是,您如何根据设备屏幕色调设置动态更改 ThemeData 亮度?

尽管仅支持 IOS 13 和 Android 10(api 级别 29),以及某些浏览器(Chrome、firefox、safari、edge)。

更多信息: https://www.howtogeek.com/440920/browsers-are-bringing-automatic-dark-mode-to-websites/

对于那些想要实现这一点的人,先生。 Matt Carroll 发表了一篇关于此的博文: https://medium.com/flutter/android-dark-theme-in-flutter-9c8070b8b127

Flutter (Dart) - 代码:

MaterialApp(
  theme: ThemeData(
    brightness: Brightness.light,
    primaryColor: Colors.red,
  ),
  darkTheme: ThemeData(
    brightness: Brightness.dark,
  ),
);