imageselector 简介
android自定义相册,实现了拍照、图片选择(单选/多选)、imageloader无绑定 任由开发者选择
https://github.com/yancyye/imageselector
demo
更新内容
ui重改
所有功能可配置
解决oom情况
图片手动选择
支持汉语和英语
截图展示
使用说明
步骤一:
通过gradle抓取
1
2
3
|
dependencies { compile 'com.yancy.imageselector:imageselector:1.1.0' } |
步骤二:
在 androidmanifest.xml 中 添加 如下权限
1
2
3
4
|
<!-- 从sdcard中读取数据的权限 --> <uses-permission android:name= "android.permission.read_external_storage" /> <!-- 往sdcard中写入数据的权限 --> <uses-permission android:name= "android.permission.write_external_storage" /> |
步骤三:
创建 图片加载器 (其中可以按照 喜好 使用不同的 第三方图片加载框架 以下为glide示例)
1
2
3
4
5
6
7
8
9
10
11
12
|
public class glideloader implements com.yancy.imageselector.imageloader { @override public void displayimage(context context, string path, imageview imageview) { glide.with(context) .load(path) .placeholder(com.yancy.imageselector.r.mipmap.imageselector_photo) .centercrop() .into(imageview); } } |
配置imageselector
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
imageconfig imageconfig = new imageconfig.builder(mainactivity. this , new glideloader()) // 如果在 4.4 以上,则修改状态栏颜色 (默认黑色) .steeptoolbarcolor(getresources().getcolor(r.color.blue)) // 标题的背景颜色 (默认黑色) .titlebgcolor(getresources().getcolor(r.color.blue)) // 提交按钮字体的颜色 (默认白色) .titlesubmittextcolor(getresources().getcolor(r.color.white)) // 标题颜色 (默认白色) .titletextcolor(getresources().getcolor(r.color.white)) // 开启多选 (默认为多选) (单选 为 singleselect) .mutiselect() // 多选时的最大数量 (默认 9 张) .mutiselectmaxsize( 9 ) // 已选择的图片路径 .pathlist(path) // 拍照后存放的图片路径(默认 /temp/picture) .filepath( "/imageselector/pictures" ) // 开启拍照功能 (默认关闭) .showcamera() .build(); imageselector.open(imageconfig); // 开启图片选择器 |
在 onactivityresult 中获取选中的照片路径 数组 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@override protected void onactivityresult( int requestcode, int resultcode, intent data) { super .onactivityresult(requestcode, resultcode, data); if (requestcode == imageselector.image_request_code && resultcode == result_ok && data != null ) { // get image path list list<string> pathlist = data.getstringarraylistextra(imageselectoractivity.extra_result); for (string path : pathlist) { log.i( "imagepathlist" , path); } } } |