2011-08-05 6 views
0

Je reçois mon image GIF sous forme de tableau d'octets à partir du serveur. Maintenant, depuis android ne peut pas afficher les images GIF animées dans l'ImageView, je dois le décoder et le montrer comme un film.Affichage de GIF animés sous Android

Le problème que je suis confronté ici est que le GIF que je reçois du serveur a ses dimensions définies pour un iPhone. Donc, le GIF sort vraiment petit sur les appareils Android avec un écran plus grand/résolution.

Pour résoudre ce problème, j'ai deux alternatives: 1) Je pouvais soit extraire chaque bitmap du GIF et les mettre à l'échelle en fonction de la taille de mon écran. Mais pour cela je vais devoir gâcher le rapport d'aspect et l'image sortira étirée.

2) Ou je pourrais demander aux gars du serveur d'ajouter un support pour les appareils Android, afin qu'ils puissent m'envoyer le GIF en fonction de la taille de mon écran.

S'il vous plaît recommander ce que la meilleure solution serait. Dites-lui si vous avez des suggestions de votre choix.

+0

Salut, c'est mon opinion iphone est un écran fixe donc une image est ok autre chose, si votre processus est trop grand, j'ai beaucoup d'images à traiter chaque image n'est pas acceptable. Donc, si j'étais vous j'irais pour l'option 2. Désolé mon anglais Bonne chance – PedroAGSantos

Répondre

1

Je vous recommande d'aller avec la deuxième option, une chose que vous devez toujours considérer dans le développement de l'application mobile est Utilisation de la batterie, l'image de traitement dans Android plutôt que de l'avoir prêt à l'emploi à partir du serveur, souffriront la batterie de l'appareil et l'utilisateur ne serait absolument pas heureux avec elle.

0

Mais il est facile d'afficher les gifs dans le webview, vous pouvez également ajuster les paramètres des objets de la vue Web pour afficher le gif pour correspondre à la vue Web.

WebView web = (WebView) findViewById(R.id.webView1); 

// cette ligne pour charger gif de web

web.loadUrl("gif URL"); 

// cette ligne est de charger des images à partir du dossier sdcard ou actifs où vous pouvez stocker les images que vous avez obtenu du service Web

web.loadUrl("file:///android_asset/yourgif.gif"); 

// cette ligne est de définir la taille de l'image ajustée à la taille de la WebView

web.getSettings().setDefaultZoom(ZoomDensity.FAR); 

J'espère que vous avez ce que j'essaie de dire ...!