Flutter: изменение яркости приложения в соответствии с режимом «светлый / темный» на устройстве - PullRequest
0 голосов
/ 04 октября 2019

Настройка

В основном классе приложения флаттера:

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 Ответ

0 голосов
/ 18 октября 2019

Хотя поддерживается только на 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,
  ),
);
...