Перечисление ThemeMode
Перечисление ThemeMode передают
в themeMode у
MaterialApp.
Так выбирают светлую theme,
тёмную darkTheme или следование системе.
Синтаксис
ThemeMode.system
Значения
| Значение | Описание |
|---|---|
system |
Брать светлую или тёмную тему по настройке ОС. |
light |
Всегда использовать параметр theme. |
dark |
Всегда использовать параметр darkTheme. |
Значение по умолчанию: system.
Пример
Давайте зафиксируем светлую тему:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
themeMode: ThemeMode.light,
theme: ThemeData.light(),
darkTheme: ThemeData.dark(),
home: Scaffold(
body: Center(
child: Text('abcde'),
),
),
),
);
}
На экране приложение останется светлым, даже если в системе включена тёмная тема.
Пример
Давайте принудительно включить darkTheme:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
themeMode: ThemeMode.dark,
theme: ThemeData.light(),
darkTheme: ThemeData.dark(),
home: Scaffold(
body: Center(
child: Text('12345'),
),
),
),
);
}
На экране фон и текст возьмутся
из ThemeData.dark(), подпись '12345' по центру.