Android基础之十八显示gif动画,动态图片
2016-05-24 22:53
363 查看
Android显示动态图片
GifView 是一个为了解决android中现在没有直接显示gif的view,只能通过mediaplay来显示这个问题的项目,其用法和 ImageView一样,支持gif图片
使用方法:
1-把GifView.jar加入你的项目。
2-在xml中配置GifView的基本属性,GifView继承自View类,和Button、ImageView一样是一个UI控件。如:
<com.ant.liao.GifView android:id="@+id/gif2"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:paddingTop="4px" android:paddingLeft="14px" android:enabled="false" />
3-在代码中配置常用属性:
// 从xml中得到GifView的句柄
gf1 = (GifView) findViewById(R.id.gif1);
// 设置Gif图片源
gf1.setGifImage(R.drawable.gif1);
// 添加监听器
gf1.setOnClickListener(this);
// 设置显示的大小,拉伸或者压缩
gf1.setShowDimension(300, 300);
// 设置加载方式:先加载后显示、边加载边显示、只显示第一帧再显示
gf1.setGifImageType(GifImageType.COVER);
GifView的Jar包共有四个类:
GifAction.java 观察者类,监视GIF是否加载成功
GifFrame.java 里面三个成员:当前图片、延时、下张Frame的链接。
GifDecoder.java 解码线程类
GifView.java 主类,包括常用方法,如GifView构造方法、设置图片源、延迟、绘制等。
package com.example.gifdemo; import com.ant.liao.GifView; import com.ant.liao.GifView.GifImageType; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity { private GifView gf; private boolean f = true; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gf = (GifView)findViewById(R.id.gif); gf.setGifImageType(GifImageType.COVER); //gf.setShowDimension(600, 600); gf.setGifImage(R.drawable.chi); gf.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(f){ gf.showCover(); f = false; }else{ gf.showAnimation(); f = true; } } }); } /* public void onClick(View v) { if(f){ gf.showCover(); f = false; }else{ gf.showAnimation(); f = true; } }*/ }
<RelativeLayout 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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <com.ant.liao.GifView android:id="@+id/gif" android:layout_width="wrap_content" android:layout_height="wrap_content" android:enabled="false" android:paddingLeft="14px" android:paddingTop="4px" /> </RelativeLayout>
这个jar包可以去百度下载
相关文章推荐
- Android笔记:Button
- Android笔记:OptionsMenu
- Android adapter设计模式一 静态设值
- 图片压缩设置为界面背景,避免OOM
- ubuntu 下载android 源码
- Picasso源码学习
- Android View 测量流程(Measure)完全解析
- Android——IntentFilter匹配规则
- android随笔小记ContentProvider
- Android 滑动效果入门篇(一)—— ViewFlipper
- 【黑马Android】(11)音乐播放器/视频播放器/照相机/常见对话框/notification通知/样式和主题/帧动画/传感器/应用程序反编译与安装
- 使用库项目实现Android程序代码的复用
- Android四大组件(1.3)--Activity的Flogs
- android开发---音乐播放器的简单播放
- 实习入职第五天:Android开发之Intent.Action
- Android插件化探索(一)类加载器DexClassLoader
- (4.6.12.1)android中xmlns:tools属性详解
- 解决Exception raised during rendering: com/android/util/PropertiesMap (Details)
- Android stutio 中怎么将XML中文件快速findById——Android Layout ID Converter插件
- android绘图Paint.setAntiAlias()和Paint.setDither()方法的作用