import android.content.Context;import android.graphics.Canvas;import android.graphics.Movie;import android.util.AttributeSet;import android.view.View;public class GifView extends View{    private Context mContext;    private Movie mMovie;    private long mMovieStart;    private int dur;    public GifView(Context context)    {        super(context);        mContext = context;        initMovie();    }    public GifView(Context context, AttributeSet attrs)    {        super(context, attrs);        mContext = context;        initMovie();    }    private void initMovie()    {        mMovie = Movie.decodeStream(mContext.getResources().openRawResource(                R.drawable.gif1));        dur = mMovie.duration();        if (dur <= 0)        {            dur = 1000;        }    }    @Override    protected void onDraw(Canvas canvas)    {        if (mMovie != null)        {            long now = android.os.SystemClock.uptimeMillis();            if (mMovieStart == 0)            {                mMovieStart = now;            }            mMovie.setTime((int) ((now - mMovieStart) % dur));            mMovie.draw(canvas, 0, 0);            invalidate();        }    }}





更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android开发实例详解之IMF(Android(安卓)S
  2. Prof Android app dev: Introduction and
  3. QQ For Android试用
  4. Android内存泄漏终极解决篇(上)
  5. 【Android】性能优化:电量消耗统计
  6. Android(安卓)Studio集成百度云推送
  7. Android.bp入门指南之Android.mk转换成An
  8. android常用布局详解
  9. frameworks中增加自定义服务使其也成为系
  10. ContentProvider数据模型