大家知道,在Android中使用ImageView来显示gif格式的图片,我们无法得到gif格式图片该有的效果,它只会停在第一帧上,而不会继续。这时只能看到一张静态的图片,这里我们可以使用个简单的方法,即是使用Movie来显示图片。

1.在main.xml中添加ImageView,指定一张GIF图片为背景;

2.MainActivity.java

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 package com.yin.displayGIF; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Movie; import android.os.Bundle; import android.view.View; public class MainActivity extends Activity { private MyCustomView mView; private Movie mMovie; private long mMovieStart; public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); mView = new MyCustomView( this ); setContentView(mView); } // 自定义一个类,继承View class MyCustomView extends View { public MyCustomView(Context context) { super (context); // 以文件流的方式读取文件 mMovie = Movie.decodeStream(getResources().openRawResource( R.drawable.my_picture)); } @Override protected void onDraw(Canvas canvas) { long curTime = android.os.SystemClock.uptimeMillis(); // 第一次播放 if (mMovieStart == 0 ) { mMovieStart = curTime; } if (mMovie != null ) { int duration = mMovie.duration(); int relTime = ( int ) ((curTime - mMovieStart) % duration); mMovie.setTime(relTime); mMovie.draw(canvas, 0 , 0 ); // 强制重绘 invalidate(); } super .onDraw(canvas); } } }

更多相关文章

  1. [置顶] Lua 学习教程之android与lua相互调用(二)
  2. Android(安卓)Studio 下载安装以及不能打开的解决办法
  3. 高亮的关键字
  4. Android(安卓)Adapter的那些事
  5. Android(安卓)studio禁用启动时自动更新SDK功能
  6. android 常用adb 和 adb shell 命令 获取root权限
  7. Android(安卓)-- AppWidget 高级篇
  8. 为PhoneGap写一个android插件
  9. Android(安卓)添加系统设置属性的实现及步骤

随机推荐

  1. android电子点餐系统源码
  2. Android: Trusting SSL certificates
  3. android Parcelable序列化数组String[]
  4. android studio 修改jdk默认编译版本
  5. Android 安卓 案例
  6. Android ProgressBar简单使用
  7. android ListView性能优化提示
  8. FFmpeg In Android - tutorial-4-Spawnin
  9. android 配置文件
  10. Android中倒计时代码