Сохранить LinearGradient в ThemeData
у меня есть
Container
-Виджет в моем приложении я хочу украсить
LinearGradient
который должен изменить свой цвет, зависит от тока.
Облегченная версия:
static const gradientBlue = LinearGradient(
begin: Alignment.topRight,
end: Alignment.bottomLeft,
colors: <Color>[_gradientPurple, _gradientBlue, _gradientNeon],
);
Темная версия:
static const gradientBlueDark = LinearGradient(
begin: Alignment.bottomLeft,
end: Alignment.topRight,
colors: <Color>[_gradientGreen, _gradientBlack],
);
оба хранятся в моем
CustomColors
класс.
Использовать:
...Container(
decoration: BoxDecoration(gradient: CustomColors.gradientBlue),
child:....
Для моего
MaterialApp
Я использую два настраиваемых ThemeData для
theme:
а также
darkTheme:
. Таким образом, все меняет свой цвет, когда телефон переходит в режим darkMode и обратно, за исключением градиента, в котором я понятия не имею, например, как сохранить две версии.
Theme.of(context).gradientBlue
потому что у вас не может быть таких настраиваемых полей в
ThemeData
.
Какие-нибудь обходные пути?