Метод add
Метод add класса EdgeInsets возвращает новый,
где каждая сторона равна сумме двух слагаемых.
Так объединяют padding виджета и внутренний inset.
Синтаксис
outer.add(inner)
Параметры
| Параметр | Описание |
|---|---|
other |
Второй набор отступов, который прибавляют. |
Пример
Давайте сложим базовый padding и дополнительное поле:
import 'package:flutter/material.dart';
void main()
{
const base = EdgeInsets.all(8);
const extra = EdgeInsets.only(bottom: 24);
final total = base.add(extra);
runApp(
MaterialApp(
home: Scaffold(
body: Padding(
padding: total,
child: Text('abcde'),
),
),
),
);
}
На экране текст получит 8 px со всех сторон и ещё 24 px снизу.
Пример
Давайте покажем разницу на двух блоках:
import 'package:flutter/material.dart';
void main()
{
const a = EdgeInsets.symmetric(horizontal: 12);
const b = EdgeInsets.symmetric(horizontal: 20);
runApp(
MaterialApp(
home: Scaffold(
body: Column(
children: [
Padding(
padding: a,
child: Container(
color: Colors.blue.shade100,
child: Text('abcde'),
),
),
Padding(
padding: a.add(b),
child: Container(
color: Colors.blue.shade200,
child: Text('12345'),
),
),
],
),
),
),
);
}
На экране нижний блок уже верхнего за счёт суммарного горизонтального padding.
Смотрите также
-
метод
subtract,
который вычитает второй inset из первого -
метод
copyWith,
который меняет отдельные стороны -
метод
addуBorder,
который складывает рамки -
класс
EdgeInsets,
у которого вызываютadd