#android #ios #flutter #dart
#Android #iOS #флаттер #dart
Вопрос:
Я уже сделал базовую цветовую анимацию, используя AnimationController и ColorTween. Но он меняет цвет, например, со всех сторон элемента. И я хочу изменить цвет слева направо (аналогично индикатору выполнения, но мне не разрешено его использовать). Есть ли какой-нибудь способ реализовать это с помощью анимации анимации или чего-то еще? Заранее спасибо за ваши ответы) Мой код:
_controller = AnimationController(duration: Duration(seconds: 3), vsync: this)
..addListener(() {
setState(() {
});
});
_colorAnimation = ColorTween(
begin: Colors.deepOrange,
end: ThemeHolder().accentColor
).animate(_controller);
Комментарии:
1. «похоже на индикатор выполнения, но мне не разрешено его использовать». Объясните, пожалуйста.
2. @RandalSchwartz, я, вероятно, неправильно выразился (английский не мой родной язык). Я имел в виду, что у меня должен быть только один элемент (кнопка в моем случае), и он должен менять цвет при длительном нажатии слева направо (точно так же, как индикатор выполнения).
3. Я спрашивал, почему вам не разрешили его использовать. Кто вас останавливает и почему?
4. @RandalSchwartz, клиент сказал, что это должна быть кнопка.
Ответ №1:
Попробуйте использовать a stack
, и a container
переходит от 0
к некоторому значению
Container(height:100,
width: _widthAnimation.value,
color:_colorAnimation.value,)
Комментарии:
1. Спасибо за ваше предложение, но моя ширина должна быть статической, поэтому она не будет работать
2. Попробуйте получить максимальную ширину, окружив контейнер LayoutBuilder