图片缩放库 Photoview 和 Gif 控件 GifView 的使用
2016-04-04 15:35
555 查看
课程背景:
在开发中,图片的缩放双击缩放和双击缩小也很重要,可以给用户提供更好的图片浏览体验。有些图片浏览还会涉及到 Gif 动画的播放。通过本课程,你将会学习到图片的缩放处理库和 Gif 播放组件的使用。核心内容:
1.Android PhotoView 和 GifView 的基本功能简介2.Android PhotoView 的用法
3.Android GifView 的用法
PhotoView 和 GifView 的基本功能简介
本课时主要对 PhotoView 和 GifView 的基本功能特点进行简单的介绍。PhotoView 的简介:
这是一个图片查看库,实现图片浏览功能,支持pinch(捏合)手势或者点击放大缩小。支持在View Pager中翻页浏览图片。
PhotoView 是一款扩展自AndroidImageView,支持通过单点/多点触摸来进行图片缩放的智能控件。功能实用和强大。
GifView 是一个为了解决android中现在没有直接显示gif的view ,只能通过m ediaplay来显示这个问题的项目,其用法和ImageView一样,支持gif图片。可监视GIF是否加载成功。
PhotoView 的功能:
· 图片浏览查看
· 双指缩放
· 单点触摸缩放
· 图片缩放模式设置
GifView 的功能:
· 播放Gif图片
· Gif动画监听
Android PhotoView 的用法
本课时介绍 PhotoView 的基本用法,实现图片缩放功能。基本用法:
· 导入PhotoView 的jar包或开源的代码库 ,然后在布局XM L里设置PhotoView
· 将ImageView传入PhotoViewAttacher
代码演示:
使用 PhotoView 进行网络图片和本地图片的加载,缩放和点击事件处理
定义ImageView控件(也可使用PhotoView自带的控件如下)
<uk.co.senab.photoview.PhotoView android:id="@+id/iv_photo" android:layout_width="fill_parent" android:layout_height="wrap_content" />
/** * 加载网络图片和本地图片 * * PhotoView进行缩放处理 * * @author Administrator * */ public class MainActivity extends Activity { private PhotoView iv_photo; private PhotoViewAttacher attacher; private ImageLoader loader; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv_photo = (PhotoView) findViewById(R.id.iv_photo); attacher = new PhotoViewAttacher(iv_photo); //传入控件 // 加载本地图片(图片在assets目录中),缩放处理 // try { // InputStream is = getAssets().open("photoview.jpg"); // Bitmap bm = BitmapFactory.decodeStream(is); // iv_photo.setImageBitmap(bm); // } catch (IOException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // 加载网络图片 loader = ImageLoader.getInstance(); loader.displayImage("https://www.baidu.com/img/bdlogo.png", iv_photo); // 添加单击事件 iv_photo.setOnPhotoTapListener(new OnPhotoTapListener() { @Override public void onPhotoTap(View arg0, float arg1, float arg2) { } }); } }
注:这里加载网络图片使用的是Android-Universal-ImageLoader网络图片加载缓存库框架,加载网络图片时记得添加网络访问权限。
Android GifView 的用法
本课时讲解使用 GifView 来实现播放 Gif 图片动画的基本功能。基本用法:
· 导入jar包 或 源码然后以库的形式引入到项目中
· 在xml中配置GifView 的基本属性,GifView 继承自View 类,和Button、Im ageView
一样 是一个U I控件 · 在代码中配置常用属性
代码演示:
使用 GifView 进行网络Gif图片和本地Gif图片的加载和监听
/** * 加载本地Gif图片 * * 使用GifView * * @author Administrator * */ public class MainActivity extends Activity { private GifView gif; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gif = (GifView) findViewById(R.id.gif); // 设置图片源 gif.setGifImage(R.drawable.gif); // 设置显示的大小,拉伸或者压缩 gif.setShowDimension(300, 300); // 设置加载方式:先加载后显示、边加载边显示、只显示第一帧再显示 gi a89f f.setGifImageType(GifImageType.COVER); // 展示缩略图 gif.showCover();//gif.showAnimation();展示动画 // 添加事件监听 gif.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub } }); //加载网络图片的方法 //gif.setGifImage(byte[] gif); //gif.setGifImage(InputStream is); } }
本套课程中我们学习了图片缩放库 Photoview 和 Gif 控件GifView 的使用,你应当掌握了以下知识:
· 什么是Android PhotoView 和GifView ,有什么特点
· PhotoView 和GifView 的基本用法
· 能够简单的实际操作应用
你可以使用这些技术来制作一个基于这2个库的图片类相关App,如果想继续提高,你可以继续深入研究器源码的实现及更多扩展功能。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories