Метод lerp
Метод lerp класса Border
смешивает цвет и толщину каждой стороны.
Доля 0 оставляет первую рамку, доля 1 вторую.
Синтаксис
Border.lerp(a, b, 0.5)
Параметры
| Параметр | Описание |
|---|---|
a |
Первая рамка. |
b |
Вторая рамка. |
t |
Доля смешивания от 0 до 1.
|
Пример
Давайте оставим тонкую рамку, доля равна нулю:
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.lerp(
Border.fromBorderSide(BorderSide(color: Color(0xFF1565C0), width: 2)),
Border.fromBorderSide(BorderSide(color: Color(0xFFC62828), width: 16)),
0,
),
),
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.lerp(
Border.fromBorderSide(BorderSide(color: Color(0xFF1565C0), width: 2)),
Border.fromBorderSide(BorderSide(color: Color(0xFFC62828), width: 16)),
1,
),
),
child: Text('12345'),
)
),
),
),
);
}
На экране карточка со строкой 12345 и толстой красной рамкой.
Смотрите также
-
метод
symmetric,
который ставит одну сторону на бока и другую на верх и низ -
метод
fromBorderSide,
который копирует одну сторону на все четыре края -
метод
merge,
который соединяет две рамки по краям -
класс
BorderSide,
который задаёт цвет и толщину одной стороны