0

Je travaille sur un projet où j'ai besoin de jouer un gif dans un widget Android ImageView. A cet effet, je l'ai essayé tous les moyens possibles en utilisant Glide et les bibliothèques comme
https://github.com/felipecsl/GifImageView
https://github.com/koral--/android-gif-drawableJouer un gif dans une application de widget Android

Problèmes Je suis face à

  1. Glide - Je ne pouvais pas charger des fichiers GIF dans un ImageView en raison d'une propriété RemoteView (c'est-à-dire que seuls les bitmaps et les ressources peuvent être affectés, pas drawables)

  2. Bibliothèques - Je ne pouvais pas utiliser de bibliothèques tierces car toutes les bibliothèques s'étendent View (Puisque RemoteView ne prend pas en charge View dans la mise en page), CustomView ne peut pas être également implémenté car il n'existe aucun moyen d'affecter ou d'appeler des méthodes personnalisées (Depuis setImageViewResource et setImageViewBitmap ne sont que des méthodes possibles révélées dans RemoteView)

ce que je suis en train de faire:

Depuis que je ne pouvais pas trouver une solution pour cette condition, donc je suis en train de faire mon propre m éthodologie en téléchargeant et brisant gif en plusieurs cadres comme Bitmap et en planifiant ensuite d'utiliser ces cadres dans le RemoteView. S'il vous plaît aidez-moi si d'autres solutions peuvent être mises en œuvre pour réaliser cette fonctionnalité. Je travaille sur ceci depuis 7 jours, mais je n'ai pas trouvé de solution à mes besoins. Toute sorte de conseils et de suggestions serait très utile pour moi. Merci d'avance.

+0

vous pouvez charger des fichiers GIF à partir dessinables à l'aide de glisse. –

+0

pouvez-vous m'aider à comprendre, comment RemoteView entre dans l'image? – rush

+0

En outre, doit-il être un ImageView ou vous pouvez utiliser d'autres widgets comme WebView? – rush

Répondre

0

Oui, vous pouvez utiliser ImageViews pour charger des fichiers GIF, avec ceci:

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

En réalité, en vue à distance, vous pouvez assigner n'importe quelle valeur dans imageview. – Chandru

+0

RemoteView remote = nouvelle RemoteView (this, R.layout.views); – Chandru

+0

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