Класс Border
Класс Border хранит левую, верхнюю, правую и нижнюю стороны.
Каждая сторона это BorderSide: цвет и толщина.
Одинаковую рамку со всех сторон собирает метод Border.all.
Рамку кладут в border у BoxDecoration.
Синтаксис
Border.all(color: Color(0xFF1565C0), width: 2)
Методы
| Метод | Описание |
|---|---|
add |
Суммирует толщины совпадающих сторон двух Border.
|
all |
Создаёт рамку одинакового цвета и толщины со всех сторон. |
fromBorderSide |
Повторяет одну сторону на все четыре грани. |
lerp |
Плавно переходит между двумя рамками. |
merge |
Накладывает вторую рамку поверх первой по сторонам. |
scale |
Умножает толщину всех сторон на коэффициент. |
symmetric |
Задаёт горизонтальную и вертикальную стороны рамки отдельно. |
Пример
Давайте оформим Container:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
width: 160,
height: 80,
decoration: BoxDecoration(color: Colors.white, border: Border.all(color: Colors.teal, width: 2), borderRadius: BorderRadius.circular(8), boxShadow: [BoxShadow(offset: Offset(2, 2), blurRadius: 4)]),
),
),
),
),
);
}
На экране блок с рамкой, скруглением и тенью.
Пример
Давайте усилим тень:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
width: 160,
height: 80,
decoration: BoxDecoration(color: Colors.grey.shade100, boxShadow: [BoxShadow(color: Colors.black26, blurRadius: 10, offset: Offset(4, 4))]),
),
),
),
),
);
}
На экране более заметная тень.
Смотрите также
-
класс
ShapeDecoration,
фон произвольной формы -
класс
BoxDecoration,
фон, рамка, тень и скругление -
класс
BorderSide,
одна сторона рамки -
класс
BorderRadius,
скругление углов