Анимация Fresco Android GIF/WEBP не воспроизводится

Я решил использовать Fresco, поскольку он предлагает решение моей проблемы: воспроизведение GIF и WEBP.

Согласно документации: http://frescolib.org/docs/animations.html

Я могу использовать эти коды для автоматического воспроизведения анимации:

   Uri uri;
   DraweeController controller = Fresco.newDraweeControllerBuilder()
       .setUri(uri)
       .setAutoPlayAnimations(true)
       . // other setters
       .build();
   mSimpleDraweeView.setController(controller);

Однако, когда я использовал код, он отображал только статическое изображение.

Есть ли какие-либо другие шаги, которые мне нужно сделать, чтобы воспроизвести GIF/WEBP? или я неправильно понимаю использование в документации термина «анимация»?

РЕДАКТИРОВАТЬ:

Дополнительная информация: при использовании ControllerListener я обнаружил, что возврат Animatable в onFinalImageSet() равен нулю. Я не уверен, почему.

Я также пытался запустить этот пример проекта, но .gif тоже не анимируется: https://github.com/kaedea/fresco-sample-usage

Кстати, я использую Nexus 5X для тестирования (версия 6.0.1).


person kishidp    schedule 11.08.2016    source источник
comment
Хорошо, проблема в том, что я не добавил модули для поддержки GIF и WebP.   -  person kishidp    schedule 11.08.2016


Ответы (1)


Убедитесь, что вы добавили зависимости Gradle для анимации:

dependencies {
  // If your app supports Android versions before Ice Cream Sandwich (API level 14)
  compile 'com.facebook.fresco:animated-base-support:1.2.0'

  // For animated GIF support
  compile 'com.facebook.fresco:animated-gif:1.2.0'

  // For WebP support, including animated WebP
  compile 'com.facebook.fresco:animated-webp:1.2.0'
  compile 'com.facebook.fresco:webpsupport:1.2.0'

  // For WebP support, without animations
  compile 'com.facebook.fresco:webpsupport:1.2.0'
}
person Alexander Oprisnik    schedule 11.08.2016