Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
356 of 1024 menu
◀ ▶

Метод platformBrightnessOf

Метод platformBrightnessOf виджета MediaQuery он совпадает с MediaQuery.of(context).platformBrightness и возвращает Brightness.light или Brightness.dark. Значение отражает системную тему, а не только ThemeData приложения.

Синтаксис

MediaQuery.platformBrightnessOf(context)

Параметры

Параметр Описание
context BuildContext виджета под MediaQuery.

Пример

Давайте выведем текущую яркость платформы:

import 'package:flutter/material.dart'; class BrightnessLabel extends StatelessWidget { const BrightnessLabel({super.key}); @override Widget build(BuildContext context) { var res = MediaQuery.platformBrightnessOf(context); return Text('$res'); } } void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: BrightnessLabel(), ), ), ), ); }

На экране появится строка с Brightness.light или Brightness.dark.

Пример

Давайте покрасим фон по системной теме:

import 'package:flutter/material.dart'; class SystemBackdrop extends StatelessWidget { const SystemBackdrop({super.key}); @override Widget build(BuildContext context) { var dark = MediaQuery.platformBrightnessOf(context) == Brightness.dark; var bg = dark ? Colors.grey.shade900 : Colors.grey.shade200; var fg = dark ? Colors.white : Colors.black; return ColoredBox( color: bg, child: Center( child: Text( 'abcde', style: TextStyle(color: fg), ), ), ); } } void main() { runApp( MaterialApp( home: Scaffold( body: SystemBackdrop(), ), ), ); }

На экране фон и цвет текста подстроятся под светлую или тёмную систему.

Смотрите также

  • метод of,
    который возвращает platformBrightness в MediaQueryData
  • метод copyWith,
    который может подменить platformBrightness локально
  • класс MediaQueryData,
    где хранится поле platformBrightness
  • метод textScalerOf,
    который читает другую системную настройку из MediaQuery
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить