Вы можете проверить dynamic_theme
Как использовать
Просто добавьте Dynamic Theme
в качестве родителя вашего MaterialApp
DynamicTheme(
defaultBrightness: Brightness.light,
data: (brightness) => new ThemeData(
primarySwatch: Colors.indigo,
brightness: brightness,
),
themedWidgetBuilder: (context, theme) {
return new MaterialApp(
.......
);
}
)
Получите currentBrightness
, используя
DynamicTheme.of(context).brightness;
И установите его, используя
DynamicTheme.of(context).setBrightness(Theme.of(context).brightness == Brightness.dark? Brightness.light: Brightness.dark);
Вы можете узнать больше об этом или создать свой собственный, проверьте этот носитель Сообщение
Отредактировано
Вы можете проверить текущую тему ОС, используя
MediaQuery.of(context).platformBrightness;
И установить тему соответствующим образом.