Android中加载Gif动画图片

来源:互联网 发布:中国移动两张网络建设 编辑:程序博客网 时间:2024/04/29 14:08
1.这个工具类的实例代码如下,以后要想实现Gif动画只需要调用这个工具类修改动画资源文件即可,MyGifView.java:
public class MyGifView extends View{private long movieStart;private Movie movie;    //此处必须重写该构造方法public MyGifView(Context context,AttributeSet attributeSet) {super(context,attributeSet);//以文件流(InputStream)读取进gif图片资源movie=Movie.decodeStream(getResources().openRawResource(R.drawable.gifmouth));} @Overrideprotected void onDraw(Canvas canvas) {long curTime=android.os.SystemClock.uptimeMillis();//第一次播放if (movieStart == 0) {movieStart = curTime;}if (movie != null) {int duraction = movie.duration();int relTime = (int) ((curTime-movieStart)%duraction);movie.setTime(relTime);movie.draw(canvas, 0, 0);//强制重绘invalidate();}super.onDraw(canvas);}}

此工具类中,只做了2件事情。1,构造方法;2,重写了onDraw()方法。以后用的话,只需拷贝此类到你的工程下的工具类下即可使用。

2.Activity中的布局文件activity.main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent" >     <TextView        android:text="====Gif布局显示Gif图片===="        android:layout_height="wrap_content"       android:layout_width="wrap_content"       />         <com.example.showgifimage.MyGifView        android:id="@+id/iv"       android:layout_height="wrap_content"       android:layout_width="wrap_content"       android:layout_margin="20dp"       />  </LinearLayout>



0 0
原创粉丝点击