0

Я работаю над проектом, где у меня есть требование играть в gif в Android-виджетах ImageView. Для этого я перепробовал все возможные способы, используя Glide и библиотеки как
https://github.com/felipecsl/GifImageView
https://github.com/koral--/android-gif-drawableВоспроизведение gif в приложении виджета Android

Проблемы я столкнулся

  1. Glide - я не мог загрузить GIF в ImageView из-за свойства RemoteView (т. Е. Могут быть назначены только растровые изображения и ресурсы, не предназначенные для рисования)

  2. Библиотеки - я не мог использовать сторонние библиотеки, потому что все библиотеки расширяются View (так как RemoteView не поддерживает View в макете), CustomView также не может быть реализован, потому что нет способов назначить или вызвать пользовательские методы (с setImageViewResource и setImageViewBitmap только возможные методы, выявленные в RemoteView)

То, что я пытаюсь сделать:

Поскольку я не мог найти решение для этого требования, так что я пытаюсь сделать мой собственный м этадологии, загружая и разбивая gif на несколько кадров как Bitmap, а затем планируя использовать эти фреймы в RemoteView. Пожалуйста, помогите мне, если любые другие решения могут быть реализованы для достижения этой функции. Я работаю над этим, так как последние 7 дней, но не смог найти решения для моего требования. Любые подсказки и предложения будут очень полезны для меня. Заранее спасибо.

+0

вы можете загрузить GIF с использованием вводимого коэффициента скольжения. –

+0

вы можете помочь мне понять, как RemoteView входит в картину? – rush

+0

Кроме того, это должен быть ImageView или вы можете использовать другие виджеты, такие как WebView? – rush

ответ

0

Да, вы можете использовать ImageViews для загрузки GIF, с этим:

ImageView imageView = (ImageView) findViewById(R.id.imageView); 
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(imageView); 
Glide.with(this).load(YOUR_GIF).into(imageViewTarget); 
+0

Фактически в удаленном режиме, вы можете назначить любые значения в imageview. – Chandru

+0

RemoteView remote = новый RemoteView (это, R.layout.views); – Chandru

+0

remote.setImageBitmap (R.id.imageView, bitmap) – Chandru

Смежные вопросы