Flutter: изменение яркости приложения в зависимости от светового / темного режима устройства.
Настроить
В главном классе флаттер-приложения:
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 pro)
Настройки> Настройка> Тон> Цветной | Свет | Темный
В темном режиме и при открытии некоторых приложений (например, Chrome) приложение становится темным. При открытии других приложений этого не происходит.
Вопрос:
1) Яркость вашего приложения динамически обновляется в зависимости от настроек тона устройства, если вы их не устанавливаете ThemeData
яркость?(Не могу проверить это сам, банкомат)
2) Если нет, то как можно динамически изменять ThemeData
яркость в зависимости от настройки тона экрана устройства?
1 ответ
Хотя поддерживается только на IOS 13 и Android 10 (уровень API 29) и для некоторых браузеров (Chrome, firefox, safari, edge).
Больше информации: https://www.howtogeek.com/440920/browsers-are-bringing-automatic-dark-mode-to-websites/
Для тех, кто хочет реализовать это, г-н Мэтт Кэрролл сделал сообщение об этом в блоге: https://medium.com/flutter/android-dark-theme-in-flutter-9c8070b8b127
Флаттер (Дротик) - код:
MaterialApp(
theme: ThemeData(
brightness: Brightness.light,
primaryColor: Colors.red,
),
darkTheme: ThemeData(
brightness: Brightness.dark,
),
);