Comment animer des images .gif dans un android?
Voici le code xml:
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/minepic" />
Ici la minepic est un gif animé à l'image, mais après l'exécution de l'application de son tout en montrant une image statique.
Est qu'il ya une solution sur la façon d'animer la .gif images dans une application android?
source d'informationauteur Danny | 2013-02-22
Vous devez vous connecter pour publier un commentaire.
À donner de manière précise et complète réponse ici est ce que vous devez faire étape sage:
Vous auriez besoin d'avoir différents
.png
images qui agira à titre deimages de votre animation. Les enregistrer dans
res/drawable
dossier.Créer
anim.xml
fichier dansres/drawable
dossier avec le contenu suivant:Dans la mise en page
xml
fichier dans lequel vous voulez afficher l'animation:Dans le fichier Java qui charge la mise en page du fichier xml et les appels
setContentView
:Pour arrêter l'animation, vous pouvez appeler
.stop()
sur leAnimationDrawable
. Pour plus de détails sur les méthodes disponibles, vous pouvez voir AnimationDrawable de la documentation. Espérons que cela aide quelqu'un.Je ne recommandent pas l'utilisation de
Movie
ouWebView
les classes, maisImageView
plutôt de la source drawable ensemble deanimation-list
. Regardez l'exemple(mydrawable.xml
):Évidemment, vous avez à votre tranche .gif en images séparées avant d'utiliser cette solution.
Comme je le comprends, votre image GIF n'est pas en mouvement, de sorte que la native Android comportement, si vous traiter de GIF comme une image statique. Pour moi, la meilleure solution (ne pas réinventer la roue!) a la bibliothèque libre gitDrawable. Vérifier leur README, tout est très simple: ajouter la dépendance à gradle et d'utilisation(au format XML ou code). Exemple d'utilisation en Java:
http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html
Eh bien, je suis capable d'animer android images à l'aide de ce simple code:
il a été mis en œuvre facilement à l'aide de movieview
ou je peux je vous donne un tutoriel pour ce genre de choses
Ce n'est pas une bonne pratique d'utiliser des Threads (c'est à dire de la Vue.post(new Runnable)), parce que la vue peut avoir changé au cours du temps, le drawable va être peint (dans un cas à l'aide de l'image animée sur ListView avec des articles contenant les différentes images de fond), ce qui peut causer une ClassCastException si l'ImageView, le temps que le thread s'exécute, a un fond qui n'est pas un animé de ressources.
Exemple illustré ici