Метод lerp
Метод lerp класса BoxShadow
смешивает цвет, сдвиг и размытие.
Доля 0 оставляет первую тень, доля 1 вторую.
Синтаксис
BoxShadow.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),
boxShadow: [
BoxShadow.lerp(
BoxShadow(color: Color(0xFF000000), blurRadius: 0, offset: Offset(4, 4)),
BoxShadow(color: Color(0xFF000000), blurRadius: 24, offset: Offset(4, 4)),
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),
boxShadow: [
BoxShadow.lerp(
BoxShadow(color: Color(0xFF000000), blurRadius: 0, offset: Offset(4, 4)),
BoxShadow(color: Color(0xFF000000), blurRadius: 24, offset: Offset(4, 4)),
1,
)!,
],
),
child: Text('12345'),
)
),
),
),
);
}
На экране белая карточка со строкой 12345. Тень сильно размыта.
Смотрите также
-
метод
lerpList,
который смешивает два списка теней -
метод
scale,
который умножает сдвиг и размытие тени -
метод
copyWith,
который заменяет цвет, сдвиг или размытие тени -
класс
BoxDecoration,
который принимает список теней