格式化

廣告

廣告2

2013年9月20日 星期五

[Android程式範例] GIF動畫播放

android gif動畫

GIF動畫播放


Android中是不支援直接使用GIF動畫圖片關聯播放影格動畫,所以經過前人的試驗,發現說可以利用Movie類別來達到這種功能,隨然本來是用來播放影片的,但其實稍微修飾一下,播放gif動畫也是沒有問題的!


    public class MainActivity extends Activity {   
          
        private Movie mMovie;   
        private long mMovieStart;  
        /** Called when the activity is first created. */   
        @Override   
        public void onCreate(Bundle savedInstanceState) {   
            super.onCreate(savedInstanceState);   
           setContentView(new CustomGifView(this));   
              }  
        class CustomGifView extends View {  
            public CustomGifView(Context context) {   
                super(context);   
                mMovie = Movie.decodeStream(getResources().openRawResource(   
                        R.drawable.animation));  
            }   
              
            public void onDraw(Canvas canvas) {  
                long now = android.os.SystemClock.uptimeMillis();   
                  
                if (mMovieStart == 0) { // first time   
                    mMovieStart = now;   
                }   
                if (mMovie != null) {   
                      
                    int dur = mMovie.duration();   
                    if (dur == 0) {   
                        dur = 1000;   
                    }   
                    int relTime = (int) ((now – mMovieStart) % dur);                  
                    mMovie.setTime(relTime);   
                    mMovie.draw(canvas, 0, 0);   
                    invalidate();   
                }   
            }  
        }  
    }  

沒有留言 :