Класс BoxShadow
Класс BoxShadow задаёт тень блока.
Цвет тени это Color, размытие - blurRadius,
сдвиг от фигуры - offset типа Offset.
Список теней передают в boxShadow у BoxDecoration.
Синтаксис
BoxShadow(
color: Color(0x42000000),
blurRadius: 8,
offset: Offset(0, 4),
)
Методы
| Метод | Описание |
|---|---|
copyWith |
Меняет смещение, размытие или цвет тени. |
lerp |
Плавно переходит между двумя тенями. |
lerpList |
Смешивает два списка теней в заданной доле. |
scale |
Умножает сдвиг и размытие тени на коэффициент. |
toPaint |
Готовит Paint для рисования тени.
|
Пример
Давайте оформим 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))]),
),
),
),
),
);
}
На экране более заметная тень.
Смотрите также
-
класс
StadiumBorder,
капсула для кнопки и карточки -
класс
CircleBorder,
круг для кнопки и карточки -
класс
LinearGradient,
линейный градиент -
класс
RadialGradient,
радиальный градиент