Остановить анимацию GIF при нажатии на флаттер - PullRequest
0 голосов
/ 27 апреля 2020

Я новичок во флаттере. Я пытаюсь приостановить анимацию изображения GIF при щелчке и возобновить анимацию при втором щелчке, но я понятия не имею, как реализовать это во флаттере. Для этого я использую изображение актива,

Image.asset('images/xyz.gif')

, но проблема в том, что изображение постоянно анимируется. Итак, кто-нибудь есть идеи о том, как реализовать, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 30 апреля 2020

Насколько я знаю, во Флаттере вы не можете использовать виджет Image для управления скоростью, продолжительностью, циклом и т. Д. Гифки.

Но я знаю эта библиотека называется flutter_gifimage, которая помогает вам в этом.

Используя ее, вы можете управлять тем, как анимируется gif, используя нечто похожее на контроллер анимации. Вот пример того, что вы можете сделать с ним:

enter image description here

Пример использования:

Сначала объявите GifController и GifImage, который в основном это «изображение» с контроллером.

GifController controller= GifController(vsync: this);


     GifImage(
          controller: controller,
          image: AssetImage("images/animate.gif"),
     )

Теперь вы можете управлять им, как и любым другим контроллером анимации:

// loop from 0 frame to 29 frame
 controller.repeat(min:0,max:29,period:Duration(millseconds:300));

 // jumpTo thrid frame(index from 0)
 controller.value = 0;

 // from current frame to 26 frame
 controller.animateTo(26);
...