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