简介:Android中现在没有直接显示gif的view,用ImageView只能显示Gif图片的第一帧,只能通过mediaplay来显示,且还常常不能正常显示出来,所以便有了这个GifView的开源项目,其用法和ImageView几乎一样,非常方便。
项目主页:http://code.google.com/p/gifview/
作者:ant.cy.liao
使用步骤:
1.在你的工程中新建一个lib目录,并把gifview.jar放到里面。
2.在编译路径中添加对这个jar的引用。
3.在使用时,可以直接在layout文件中定义gifview,但只能在代码中设置gif图片(setgifimage)
XML配置示例:
<com.ant.liao.GifView android:id="@+id/gif"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingTop="4px"
android:paddingLeft="14px"
android:enabled="false" />
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingTop="4px"
android:paddingLeft="14px"
android:enabled="false" />
显示gif图片代码中配置常用属性如下:
gif = (GifView) findViewById(R.id.gif);
//设置Gif图片源
gif.setGifImage(R.drawable.gif);
//添加监听器
gif.setOnClickListener(this);
//设置gif图片的大小
gif.setShowDimension(300, 300);
//设置加载方式:先加载后显示、边加载边显示、只显示第一帧再显示
gif.setGifImageType(GifImageType.COVER);
//设置Gif图片源
gif.setGifImage(R.drawable.gif);
//添加监听器
gif.setOnClickListener(this);
//设置gif图片的大小
gif.setShowDimension(300, 300);
//设置加载方式:先加载后显示、边加载边显示、只显示第一帧再显示
gif.setGifImageType(GifImageType.COVER);
最后要说明的是这种方式是Android在应用程序中对gif格式图片进行解码的,java解码效率有多高,相信大家都很了解。
项目已知bug:如果图档过大,会出现OOM,实际运用中还没遇到过该问题。