2011-09-05 20 views
5

Tôi muốn phát tệp GIF trong hoạt động hiện tại của mình.Cách phát tệp GIF trong Android?

Tôi có tệp XML trong đó có bố cục.

Tôi muốn phát GIF trong cùng một lớp Hoạt động.

Có cách nào đơn giản để phát tệp GIF trong lớp Hoạt động không?

+0

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

+1

bạn đã cố gắng hiển thị gif trong chế độ xem web chưa? – doNotCheckMyBlog

+0

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

Trả lời

2

Android không hỗ trợ phát tệp GIF động. Nếu bạn cần phải chơi chúng thì bạn cần phải chia chúng thành các khung hình, và làm động từng khung hình một.

này sẽ cho phép bạn chia file GIF http://www.xoyosoft.com/gs/

+0

Tôi rất vui khi nhận được câu trả lời nhưng: với canvas, chúng tôi có thể dễ dàng phát các tệp gif. – Siten

+0

Không, bạn không thể phát tệp GIF, nhưng một khi bạn đã chia nhỏ chúng thành các bản vẽ riêng lẻ, bạn có thể tạo ảnh động cho những người dùng bằng cách sử dụng AnimationDrawable http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html –

+0

@Siten Xin chào, cách thực hiện điều đó? – GMsoF

6

Bạn có thể sử dụng một WebView. tôi sẽ giới thiệu với một ví dụ:

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

     } 
} 

Trong tài sản thư mục thêm tập tin html này:

<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

Có một ví dụ here trong đó một tùy chỉnh lớp AnimatedGifView được tạo ra.

Sử dụng lớp android.graphics.Movie và ghi đè phương pháp onDraw để vẽ lại chế độ xem định kỳ. Dưới đây là một đoạn trích:

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

Có lẽ thích hợp hơn là convert animated GIFs to AnimationDrawables, thay vào đó, tuy nhiên.

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

Sử dụng mã và tệp gif của bạn được đưa vào thư mục drawable .... và thay đổi tên trước bằng tên tệp gif của bạn.

Các vấn đề liên quan