Есть ли какой-нибудь способ изменить цвет элемента слева направо?

#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