2011-09-05 11 views
5

Chcę odtwarzać plik GIF w mojej bieżącej działalności.Jak odtwarzać plik GIF w systemie Android?

Mam plik XML, w którym znajduje się układ.

Chcę odtwarzać GIF w tej samej klasie aktywności.

Czy istnieje prosty sposób na odtwarzanie pliku GIF w klasie aktywności?

+0

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

+1

Czy próbowałeś pokazać gif w webview? – doNotCheckMyBlog

+0

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

Odpowiedz

2

Android nie obsługuje odtwarzania animowanych plików GIF. Jeśli chcesz je zagrać, musisz podzielić je na ramki i animować każdą klatkę po kolei.

To pozwoli Ci podzielić plik GIF http://www.xoyosoft.com/gs/

+0

Jestem szczęśliwy, aby uzyskać odpowiedź, ale: z płótna możemy łatwo odtwarzać pliki gif. – Siten

+0

Nie, nie można odtwarzać plików GIF, ale po podzieleniu ich na poszczególne miniatury można animować je za pomocą AnimationDrawable http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html –

+0

@ Siten Cześć, jak to zrobić? – GMsoF

6

Można użyć WebView. pokażę na przykładzie:

//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"); 

     } 
} 

W aktywach folder Dodaj plik 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

Jest przykładem here w którym tworzony jest niestandardowy AnimatedGifView klasa.

Korzysta z klasy android.graphics.Movie i zastępuje metodę onDraw, aby okresowo przerysowywać widok. Oto fragment:

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

To chyba bardziej odpowiednie do convert animated GIFs to AnimationDrawables, zamiast tego jednak.

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

Użyj kod i umieścić plik gif do rozciągliwej folderu .... i najpierw zmienić nazwę z nazwą pliku GIF.