# 快速、轻量级自定义图库选择库(仿微信图库选择界面)
来源:互联网 发布:湖南教师网络研修平台 编辑:程序博客网 时间:2024/05/21 10:37
写过很多的项目,几乎我接触的每一个项目都需要用到功能就是图库选择。于是我很久以前就思考是不是可以把对图库选择做一些封装,然后,我开始对微信的图库选择开始做研究,这才有了album这个库的第一个版本,我以后还会对这个库进行持续的更新。这是我封装的第一个库,先上效果图吧(注意这个不是微信截图,是软件真实运行截图)。
一、图片展示列表
这个界面我原本不打算放到album库中的,因为它好像和图库并没有什么关联,它只是一个album的使用实例。但是我回忆了一下,我做过的项目,对这样的图库添加和都特别常见,所以我把它也放了进来,这里点击每一张图片可以进入列表全图查看,点击对号可以取消。这个界面使用album库除了实现简单外,还有一个特点就是不用考虑滑动冲突的问题,这里我用的是一个解决了滑动冲突的gradview。
//图片选择回调处理 private void selectImage() { //跳转到自定义图库选择 if (imageSelect_01.size() >= maxNum + 1) return; photoConfigure = new PhotoConfigure(); photoConfigure.setCamera(true); photoConfigure.setNum(maxNum - imageSelect_01.size()); PhotoWallActivity.openImageSelecter(TestActivity.this, photoConfigure, new PhotoWallActivity.OnHandlerResultCallback() { @Override public void onHandlerSuccess(List<PhotoBean> resultList) { TestActivity.this.resultList.addAll(resultList); //返回的选中照片数据集合 for (PhotoBean url : resultList) { imageSelect_01.add(imageSelect_01.size() - 1, url.getImage_url()); } adapter.notifyDataSetChanged(); } }); }
这里是调用album库的基本使用方法,PhotoConfigure中封装的是启动album库的基本配置信息:是否使用相机、是否单选、需要选择的图片数量等。对于回调的处理,都返回到resultList中,在使用的过程中,你只需要对resultList处理即可。
二、手机图库选择列表
启动图库选择后首先进入的是图库选择界面,图片选择支持拍照、分相册选择、所有图库选择。这里图库加载缓存全都使用glide加载,所以可以获取媲美微信的图库加载流畅度。这个图库选择除了可以这些基本功能外,还有很多对细节的优化。
1.图片选中后,添加透明灰色蒙版。
2.完成按钮状态颜色的变化,按钮为选择、选中状态数量和颜色的不一样。
3.相册切换动画、弹出方式。
由于截图无法展示ablum库的动画效果,建议运行后自行体验。整个项目对图库的选中和未选择状态都做了缓存。不论你是在那个相册、或者预览界面、只要选过这个就会它的状态进行记录和保存,这里的逻辑不难,但是还是挺繁琐的。
三、图片轮播。
这个界面有很多的手势操作:
1、左右滑动可以翻页。
2、点击图片,可以隐藏状态栏、标题栏和下放选择框。再次点击图片可以显示。动画效果与微信类似。
3、两个手指向外滑动,图片放大,手指向内画,图片缩小。
4、如果在图片放大的状态下左右滑动,是移动图片,此时图片可以向四个方向移动。如果不是在放大状态,左右滑动翻页。
5、图片达到最大或者最小缩放倍数后,分别有瞬间还原的动画效果。
项目中的图片轮播和照片墙界面都可以单独使用,album的状态栏和标题栏的颜色都可以在color中修改。不受主要项目的影响。这个版本的相机拍照目前还是调用系统相机拍照。最后放上album的下载地址。
- # 快速、轻量级自定义图库选择库(仿微信图库选择界面)
- android 选择图库 直接跳入图库界面 无选择界面
- 图库选择
- 仿微信图库文件夹选择的交互
- 代码库相机图库选择图片
- 图片选择(相片和图库)
- 从图库选择一张图片
- 从图库选择图片经验总结
- 拍照/选择图库头像/裁剪
- android 从系统图库中选择图片
- android从图库(gallery)选择一张图片
- android中图库中选择视频
- Android4.4系统从图库选择图片
- Android 从系统图库中选择图片
- android从图库(gallery)选择一张图片
- IOS开发选择图片(相机或者图库)
- 选择图库中照片GridView显示
- 调用系统相机、图库并选择图片
- Data truncation: Incorrect datetime value: '' for column 'EVENT_DATE' at row 1
- 数据结构--表(List)
- eclipse插件的安装方式,例如checkstyle插件
- iTOP-4412搭建Linux+QT开发环境
- 从零开始建立Rancher Catalog模板
- # 快速、轻量级自定义图库选择库(仿微信图库选择界面)
- 《中文版PHOTOSHOP.CS3完全自学教程》李金明.李金荣.彩色扫描版.pdf
- com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE的调错
- JavaScript获取时间戳的方法
- 常见的c#面试题总结(详细)
- JAVA开发之 28- JAVA的循环结构
- Opencv 人脸检测训练分类器,及其常见问题
- iOS开发 给View添加指定位置的边框线
- 《深入理解计算机系统(原书第2版)》pdf