Метод removeViewPadding
Метод removeViewPadding виджета
MediaQuery он меняет viewPadding для child
по флагам removeLeft, removeTop,
removeRight и removeBottom.
Поле viewPadding описывает постоянные вырезы экрана.
Для padding служит
removePadding.
Синтаксис
MediaQuery.removeViewPadding(
context: context,
removeBottom: true,
child: child,
)
Параметры
| Параметр | Описание |
|---|---|
context |
BuildContext для чтения MediaQueryData.
|
removeLeft |
Обнулить левый viewPadding. По умолчанию false. |
removeTop |
Обнулить верхний viewPadding. По умолчанию false. |
removeRight |
Обнулить правый viewPadding. По умолчанию false. |
removeBottom |
Обнулить нижний viewPadding. По умолчанию false. |
child |
Дочерний виджет с новым viewPadding. |
Пример
Давайте опустим контент до самого низа экрана:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Builder(
builder: (context) {
return MediaQuery.removeViewPadding(
context: context,
removeBottom: true,
child: Align(
alignment: Alignment.bottomCenter,
child: Container(
height: 48,
color: Colors.orange,
alignment: Alignment.center,
child: const Text('abcde'),
),
),
);
},
),
),
),
);
}
На экране оранжевая полоска прижмётся к физическому нижнему краю дисплея.
Пример
Давайте сравним viewPadding до и после обнуления сверху:
import 'package:flutter/material.dart';
class ViewPadProbe extends StatelessWidget
{
const ViewPadProbe({super.key});
@override
Widget build(BuildContext context)
{
var res = MediaQuery.viewPaddingOf(context).top;
return Text('$res');
}
}
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Builder(
builder: (context) {
return MediaQuery.removeViewPadding(
context: context,
removeTop: true,
child: const Center(
child: ViewPadProbe(),
),
);
},
),
),
),
);
}
На экране по центру будет 0: верхний viewPadding обнулился для поддерева.
Смотрите также
-
метод
viewPaddingOf,
который читает viewPadding без изменений -
метод
removePadding,
который обнуляет padding, а не viewPadding -
метод
removeViewInsets,
который обнуляет viewInsets -
виджет
SafeArea,
который добавляет отступы по padding