Метод merge
Метод merge класса Border
обходит четыре края.
Если у одной рамки края нет, остаётся сторона второй.
Если обе стороны одного цвета, их толщина складывается.
Синтаксис
Border.merge(a, b)
Параметры
| Параметр | Описание |
|---|---|
a |
Первая рамка. |
b |
Вторая рамка. |
Пример
Давайте дополним левую линию верхней:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: Color(0xFFFFFFFF),
border: Border.merge(
Border(left: BorderSide(color: Color(0xFF1565C0), width: 6)),
Border(top: BorderSide(color: Color(0xFFC62828), width: 6)),
),
),
child: Text('abcde'),
)
),
),
),
);
}
На экране карточка со строкой abcde. Слева синяя линия, сверху красная: каждый край взялся из той рамки, где он был задан.
Пример
Давайте сложим две левые линии одного цвета:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: Color(0xFFFFFFFF),
border: Border.merge(
Border(left: BorderSide(color: Color(0xFF1565C0), width: 4)),
Border(left: BorderSide(color: Color(0xFF1565C0), width: 8)),
),
),
child: Text('12345'),
)
),
),
),
);
}
На экране карточка со строкой 12345. Слева одна синяя линия толщиной 12, сумма двух сторон.
Смотрите также
-
метод
symmetric,
который ставит одну сторону на бока и другую на верх и низ -
метод
fromBorderSide,
который копирует одну сторону на все четыре края -
метод
add,
который складывает стороны двух рамок -
класс
BorderSide,
который задаёт цвет и толщину одной стороны