TakePhoto
TakePhoto copied to clipboard
图片选择器,可以通过相册或者相机选择图片,显示在页面上。
TakePhotoV2.0.0
说明
对于现在的APP开发,项目中一般都会有图片上传的功能,简单的功能就是头像上传,复杂一点的就是类似于微信朋友圈九宫格图片上传与显示,如果全凭自己手工写的话,费时费力还不一定能有好效果,现在这款神器将祝你一臂之力,让你在图片上传和显示这块尽量花费较少的时间,取得最大的效果!
功能点
- 支持本地选择照片以及相机拍摄
- 图片压缩,采用Luban算法压缩图片,效果明显
- 支持显示网路图片
- 支持图片的常规手势操作,放大、缩小等
- 仿微信九宫格显示图片
- 支持图片删除操作
..............
效果演示
(图1,支持选择照片以及拍照功能)
(图2,支持九宫格显示网络图片)
(图3,支持九宫格显示本地图片)
图4,显示大图,支持缩放操作)
图5,压缩对比)
使用方法
gradle引用
compile 'liji.library.dev:takephotolib:2.0.1'
代码示例(v2.0.0)
获取图片
TakePhoto takePhoto = new TakePhoto(Main2Activity.this);
takePhoto.setOnPictureSelected(new TakePhoto.onPictureSelected() {
@Override
public void select(String path, String compresspath) {
//path 图片原始地址
//compresspath 图片压缩地址
}
});
takePhoto.show();
九宫格展示图片(具体使用方法请看demo)
//第一步 Activity实现IMakePic接口
xxActivity implements IMakePic
//九宫格图片适配器
MakePicAdapter mMakePicAdapter;
//图片数据集
ArrayList<PhotoInfo> photoInfos = new ArrayList<>();
//RecyclerView管理器
GridLayoutManager mLayoutManager = new GridLayoutManager(this, 3);
mRecyclerView.setLayoutManager(mLayoutManager);
//设置RecyclerView适配器
mMakePicAdapter = new MakePicAdapter(this, photoInfos, this, Constatnt.EDIT);
mRecyclerView.setAdapter(mMakePicAdapter);
......
数据结构
/**
* 原始图片路径
*/
private String originalPath;
/**
* 压缩的图片路径
*/
private String compressPath;
/**
* 图片的网络地址
*/
private String imgUrl;
更新日志
V2.0.1版本更新内容(2017.11.13)
1.细节优化
V2.0.0版本更新内容(2017.11.11)
- 新增图片压缩
- 新增九宫格显示
- 拍照及本地图片获取UI改版
V1.0.2版本更新内容(2016.10.26)
- bug修改
- 优化小细节
V1.0.0版本更新内容(2016.05.13)
- 初始版本发布
- 新增图片选择支持本地相册选取以及拍照
关于作者
- 简书 http://www.jianshu.com/users/18281bdb07ce/latest_articles
- 博客 http://crazyandcoder.github.io/
- github https://github.com/crazyandcoder
- 掘金 https://juejin.im/user/56b96af96240b8005865df59