2011-09-05 13 views
5

Quiero jugar un archivo GIF en mi actividad actual.¿Cómo se reproduce un archivo GIF en Android?

Tengo un archivo XML en el que hay un diseño.

Quiero jugar el GIF en la misma clase Actividad.

¿Hay una manera simple de reproducir un archivo GIF en una clase de actividad?

+0

http://www.anddev.org/how_to_play_gif_file_in_android-t3492.html –

+1

¿Has intentado mostrar gif en la vista web? – doNotCheckMyBlog

+0

http://www.google.com/support/forum/p/android/thread?tid=1d6c2e915ad2ff0a&hl=en –

Respuesta

2

Android no admite la reproducción de archivos GIF animados. Si necesita reproducirlos, debe dividirlos en cuadros y animarlos uno por uno.

Esto le permitirá dividir el archivo GIF http://www.xoyosoft.com/gs/

+0

Estoy feliz de obtener una respuesta, pero: con el lienzo podemos reproducir fácilmente archivos gif. – Siten

+0

No, no puede reproducir archivos GIF, pero una vez que los ha dividido en grupos dibujables individuales, puede animarlos usando AnimationDrawable http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html –

+0

@Siten Hola, ¿cómo hacer eso? – GMsoF

6

Puede utilizar un web View. voy a mostrar con un ejemplo:

//My activity 
public class Gift_Loading extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     Gif_loading_View view = new Gif_loading_View(this); 
     setContentView(view); 
    } 

} 

//the webView 
public class Gif_loading_View extends WebView{ 

    public Gif_loading_View(Context context) { 

     super(context);  
     loadUrl("file:///android_asset/loading_position.html"); 

     } 
} 

En los activos carpeta añadir este archivo html:

<html> 
<body bgcolor="white"> 
    <table width="100%" height="100%"> 
     <tr> 
      <td align="center" valign="center">     
       <br/> 
       <br/> 
       <br/> 
       <font size="6">Please wait...</font> 
       <br/> 
       <br/> 
       <img src="cyclist_loading.gif" /> 

      </td> 
     </tr> 
    </table> 
</body> 
0

Hay un ejemplo here en el que se crea una clase personalizada AnimatedGifView.

Hace uso de la clase android.graphics.Movie y anula el método onDraw para volver a dibujar la vista periódicamente. He aquí un extracto:

gifInputStream = context.getResources().openRawResource(R.drawable.myGIFImage); 
gifMovie = Movie.decodeStream(gifInputStream); 
gifMovie.setTime((int)movieRunDuration); 
gifMovie.draw(canvas, 0, 0); 

Es probable que sea más apropiado convert animated GIFs to AnimationDrawables, en su lugar, sin embargo.

0
<pl.droidsonroids.gif.GifTextView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/first" 
    /> 

Utilice el código y el archivo GIF poner en la carpeta dibujable .... y cambiar el nombre por primera vez con el nombre de archivo GIF.

Cuestiones relacionadas