Метод removePadding
Метод removePadding виджета
MediaQuery он оборачивает child в новый MediaQuery,
где поле padding уменьшено по флагам
removeLeft, removeTop, removeRight и removeBottom.
Так фон может зайти под статус-бар, а контент внутри останется с прежними данными выше по дереву.
Синтаксис
MediaQuery.removePadding(
context: context,
removeTop: true,
child: child,
)
Параметры
| Параметр | Описание |
|---|---|
context |
BuildContext, из которого читают текущий MediaQueryData.
|
removeLeft |
Обнулить левый padding. По умолчанию false. |
removeTop |
Обнулить верхний padding. По умолчанию false. |
removeRight |
Обнулить правый padding. По умолчанию false. |
removeBottom |
Обнулить нижний padding. По умолчанию false. |
child |
Дочерний виджет, который получит изменённые данные MediaQuery.
|
Пример
Давайте растянем цветной фон под статус-бар:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Builder(
builder: (context) {
return MediaQuery.removePadding(
context: context,
removeTop: true,
child: Container(
color: Colors.indigo,
child: const Center(
child: Text('abcde'),
),
),
);
},
),
),
),
);
}
На экране индиго зальёт область под статус-баром, текст останется по центру видимой части.
Пример
Давайте снимем padding со всех сторон для полноэкранной картинки:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Builder(
builder: (context) {
return MediaQuery.removePadding(
context: context,
removeLeft: true,
removeTop: true,
removeRight: true,
removeBottom: true,
child: Container(
color: Colors.black,
child: const Center(
child: Text(
'12345',
style: TextStyle(color: Colors.white),
),
),
),
);
},
),
),
),
);
}
На экране чёрный фон займет весь дисплей, включая зоны выреза.
Смотрите также
-
метод
removeViewPadding,
который обнуляет viewPadding вместо padding -
метод
removeViewInsets,
который обнуляет viewInsets для поддерева -
метод
paddingOf,
который читает padding до удаления -
виджет
SafeArea,
который добавляет padding, а не снимает его