Android显示gif格式图片
16lz
2021-01-24
大家知道,在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); } } } |
更多相关文章
- [置顶] Lua 学习教程之android与lua相互调用(二)
- Android(安卓)Studio 下载安装以及不能打开的解决办法
- 高亮的关键字
- Android(安卓)Adapter的那些事
- Android(安卓)studio禁用启动时自动更新SDK功能
- android 常用adb 和 adb shell 命令 获取root权限
- Android(安卓)-- AppWidget 高级篇
- 为PhoneGap写一个android插件
- Android(安卓)添加系统设置属性的实现及步骤