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();
}
}
}
}

沒有留言 :
張貼留言