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

Метод of

Метод of виджета MediaQuery он принимает context и возвращает MediaQueryData. Без предка Flutter выбросит ошибку. Для безопасного поиска есть maybeOf.

Синтаксис

MediaQuery.of(context)

Параметры

Параметр Описание
context BuildContext виджета, от которого ищут MediaQuery вверх по дереву.

Пример

Давайте прочитаем высоту экрана:

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

На экране по центру появится число - высота области рисования.

Пример

Давайте сравним padding и viewInsets:

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

На экране будет число: насколько нижняя клавиатура сильнее обычного нижнего отступа.

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

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