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,
  ),
);
Другие вопросы по тегам