Метод symmetric
Метод symmetric класса Border
собирает рамку из двух сторон.
Вертикальная сторона рисуется и слева, и справа. Горизонтальная рисуется и сверху, и снизу.
Синтаксис
Border.symmetric(vertical: BorderSide(width: 8), horizontal: BorderSide(width: 2))
Параметры
| Параметр | Описание |
|---|---|
vertical |
Сторона для левого и правого края. По умолчанию стороны нет. |
horizontal |
Сторона для верхнего и нижнего края. По умолчанию стороны нет. |
Пример
Давайте сделаем бока толстыми, а верх и низ тонкими:
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.symmetric(
vertical: BorderSide(color: Color(0xFF1565C0), width: 10),
horizontal: BorderSide(color: Color(0xFFC62828), width: 2),
),
),
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.symmetric(
horizontal: BorderSide(color: Color(0xFF2E7D32), width: 6),
),
),
child: Text('12345'),
)
),
),
),
);
}
На экране карточка со строкой 12345. Зелёная линия только сверху и снизу, по бокам рамки нет.
Смотрите также
-
метод
fromBorderSide,
который копирует одну сторону на все четыре края -
метод
merge,
который соединяет две рамки по краям -
метод
add,
который складывает стороны двух рамок -
класс
BorderSide,
который задаёт цвет и толщину одной стороны