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

Метод viewInsetsOf

Метод viewInsetsOf виджета MediaQuery он совпадает с MediaQuery.of(context).viewInsets. Нижнее значение растёт, когда открыта клавиатура. Чтобы игнорировать врезку, используют removeViewInsets.

Синтаксис

MediaQuery.viewInsetsOf(context)

Параметры

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

Пример

Давайте поднимем кнопку над клавиатурой:

import 'package:flutter/material.dart'; class LiftedButton extends StatelessWidget { const LiftedButton({super.key}); @override Widget build(BuildContext context) { var bottom = MediaQuery.viewInsetsOf(context).bottom; return Padding( padding: EdgeInsets.only(bottom: bottom), child: ElevatedButton( onPressed: () {}, child: const Text('abcde'), ), ); } } void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: LiftedButton(), ), ), ), ); }

На экране кнопка останется над клавиатурой, когда она открыта.

Пример

Давайте выведем текущий нижний viewInset:

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

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

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

  • метод removeViewInsets,
    который обнуляет viewInsets для поддерева
  • метод paddingOf,
    который возвращает постоянные отступы экрана
  • метод viewPaddingOf,
    который не меняется при открытии клавиатуры
  • класс MediaQueryData,
    где лежит поле viewInsets
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить