Метод lerp
Метод lerp класса BoxDecoration
смешивает цвет, рамку, скругление и тень.
Доля 0 оставляет первое оформление, доля 1 второе.
Синтаксис
BoxDecoration.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.lerp(
BoxDecoration(color: Color(0xFF1565C0)),
BoxDecoration(color: Color(0xFFC62828), borderRadius: BorderRadius.circular(28)),
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.lerp(
BoxDecoration(color: Color(0xFF1565C0)),
BoxDecoration(color: Color(0xFFC62828), borderRadius: BorderRadius.circular(28)),
0.5,
)!,
child: Text('12345'),
)
),
),
),
);
}
На экране карточка со строкой 12345. Цвет между синим и красным, углы скруглены наполовину.
Смотрите также
-
метод
copyWith,
который заменяет только переданные поля оформления -
метод
scale,
который умножает толщину рамки и размытие тени -
класс
BorderRadius,
который задаёт скругление углов оформления -
класс
Container,
который рисует оформление вокруг дочернего виджета