2011-01-28 18 views
11

¿Puede alguien proporcionar un código para visualizar imágenes GIF en una vista web? (Ya puedo mostrar la misma animación de imágenes png utilizando marcos) Ahora quiero una manera de mostrar las imágenes GIF en lugar de cargar los cuadros o dibujar las imágenes una y otra vez!Visualización de imágenes GIF con WebView

Respuesta

15

Gif se admite en la vista web.

escribir un archivo HTML de la siguiente manera:

<html> 
<body bgcolor="white"> 
    <table width="100%" height="100%"> 
     <tr> 
      <td align="center" valign="center"> 
       <font color="gray">Some text you display</font> 
       <br/> 
       <br/> 
       <br/> 
       <br/> 
       <br/> 
       <img src="yourGIF.gif"> 
      </td> 
     </tr> 
    </table> 
</body> 

y almacenarlo en la carpeta "activos" de que su aplicación también almacenar gif en la misma carpeta. Y después de mostrarlo:

webview.loadUrl("file:///android_asset/your_html.html"); 
+0

Hice lo mismo que usted dijo .. El GIF se ve claramente en la ventana del espacio de trabajo de Eclipse, mientras que ... solo el primer cuadro del GIF se muestra en la pantalla del emulador (#no animación!) – msumaithri

+0

lo mismo funciona en la aplicación de correo electrónico de Android. Un spinner gira antes de que el mensaje se cargue. ¿Hay algo para configurar en la vista web? – Kantesh

+0

Es útil mostrar gif, pero no hace que gif (o webview) corrija el diseño lineal asignado, más bien si la imagen es más grande que el tamaño asignado. la vista web aparece con desplazamiento. Sugiera una forma de evitar el desplazamiento y corregir la vista web en el diseño lineal. –

1

sí, esto es el derecho que no admite GIF en Android Otra solución Como TRonZ WebView soporta gif, simplemente make a WebView y load the URL of the gif image y ya está

+1

Incluso en 2.3 GIF no está siendo apoyado? – msumaithri

+0

@msumaithri gracias –

+0

Oye, pero WebView es compatible con gif, simplemente haz una vista web y carga la URL de la imagen gif y listo. – TRonZ

22

probar este ..

WebView wv = (WebView) findViewById(R.id.webView1); 
wv.loadUrl("file:///android_asset/anim5.gif"); 

simplemente llame a su imagen GIF de los activos como este ..

+2

Simple y correcto. –

+0

Esto muestra el gif. Sin embargo, cuesta algo de tiempo hacer visible el GIF. ¿Cómo puedo mostrar el GIF de inmediato? – mrmoment

+1

¿Dónde está un buen lugar para poner el directorio 'android_asset' dentro de mi proyecto? La sintaxis 'file: /// android_asset' me lleva a creer que' android_asset' está en el directorio raíz de tu sistema de archivos, pero eso no funcionará si quiero registrar el activo en mi repo ... – dinosaur

0

No es necesario ningún código HTML ... Simplemente use esta línea

webViewControl.LoadUrl("file://" + pathToTheGifFile); 

It Works for Me.

1

Ésta es la mejor solución para GIF en Android:

Insertar la siguiente dependencia a build.gradle archivo de su proyecto.

dependencies { 
    compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+' 
} 

continuación

The simplest way is to use GifImageView 

<pl.droidsonroids.gif.GifImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:src="@drawable/src_anim" 
    android:background="@drawable/bg_anim" 
    /> 

Si dibujables declarados por Android: src y/o androide: Backgroun D son archivos GIF, entonces será reconocido automáticamente como GifDrawables y animado. Si el drawable no es un GIF, las vistas mencionadas funcionan como ImageView y ImageButton.

https://github.com/koral--/android-gif-drawable

+0

Si bien este enlace puede responder a la pregunta, es mejor incluir aquí las partes esenciales de la respuesta y proporcione el enlace para referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. - [De la crítica] (/ review/low-quality-posts/10590628) – Marged

+0

Se arregló ahora – Spl2nky

0

Cargas gif en una vista web y se adapta a la pantalla del dispositivo sin ningún código HTML ... Prueba este código

mWebView = ((CustomWebView)mRootView.findViewById(R.id.webview)); 
mWebView.loadUrl("file:///android_asset/file.gif"); 
mWebView.getSettings().setLoadWithOverviewMode(true); 
mWebView.getSettings().setUseWideViewPort(true); 
Cuestiones relacionadas