Класс EdgeInsets
Класс EdgeInsets задаёт, сколько пустого места оставить с каждой стороны.
Одинаковый отступ со всех сторон даёт метод all.
Разные стороны задают only и fromLTRB.
Объект передают в padding у Padding и Container.
Синтаксис
EdgeInsets.all(16)
Методы
| Метод | Описание |
|---|---|
add |
Складывает два набора отступов по каждой стороне. |
all |
Задаёт одинаковый отступ со всех четырёх сторон. |
copyWith |
Копирует отступы и подменяет выбранные стороны. |
flipped |
Меняет местами вертикальные и горизонтальные отступы. |
fromLTRB |
Задаёт четыре отступа позиционными аргументами left-top-right-bottom. |
lerp |
Плавно переходит между двумя наборами отступов. |
only |
Задаёт отступ отдельно для каждой стороны. |
resolve |
Переводит EdgeInsetsDirectional в EdgeInsets с учётом направления письма.
|
subtract |
Вычитает второй набор отступов из первого по каждой стороне. |
symmetric |
Задаёт одинаковые отступы по горизонтали и по вертикали. |
Пример
Давайте оставим вокруг синего блока одинаковый отступ:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Padding(
padding: EdgeInsets.all(24),
child: ColoredBox(
color: Color(0xFF1565C0),
child: Padding(
padding: EdgeInsets.all(8),
child: Text('abcde', style: TextStyle(color: Color(0xFFFFFFFF)))
)
),
),
),
),
));
}
На экране синий прямоугольник со строкой 'abcde' стоит не у края экрана, а с полями со всех сторон.
Пример
Давайте сдвинем строку только вправо:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Padding(
padding: EdgeInsets.only(left: 48),
child: Text('12345'),
),
),
),
));
}
На экране строка '12345' сдвинута вправо. Справа, сверху и снизу отступа нет.
Смотрите также
-
класс
Color,
цвет -
класс
EdgeInsetsDirectional,
отступы от начала и конца письма -
класс
Alignment,
точка внутри прямоугольника -
класс
AlignmentDirectional,
точка с учетом направления письма