Android 图片选择器。充分自由定制,极大程度简化使用,支持图库多选/图片预览/单选/照片裁剪/拍照/自定义图片加载方式/自定义色调/沉浸式状态栏
依赖
dependencies {
compile 'com.yuyh.imgsel:library:2.0.2'
}123
版本
V2.0.2 支持单独跳转拍照,一些优化
注意事项
图片加载由调用者自定义一个ImageLoader(详见使用方式), 可通过Glide、Picasso等方式加载用户自行选择加载方式,所以加载图片不受本库控制,若出现OOM等问题,可能需要在displayImage里进行压缩处理等有好的建议可以提issue, 谢谢~~
使用
初始化
// 自定义图片加载器
ISNav.getInstance().init(new ImageLoader() {
@Override
public void displayImage(Context context, String path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
});1234567
直接拍照
ISCameraConfig config = new ISCameraConfig.Builder()
.needCrop(true) // 裁剪
.cropSize(1, 1, 200, 200)
.build();
ISNav.getInstance().toCameraActivity(this, config, REQUEST_CAMERA_CODE);123456
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CAMERA_CODE && resultCode == RESULT_OK && data != null) {
String path = data.getStringExtra("result"); // 图片地址
tvResult.append(path + "\n");
}
}123456789
图片选择器
// 自由配置选项
ISListConfig config = new ISListConfig.Builder()
// 是否多选, 默认true
.multiSelect(false)
// 是否记住上次选中记录, 仅当multiSelect为true的时候配置,默认为true
.rememberSelected(false)
// “确定”按钮背景色
.btnBgColor(Color.GRAY)
// “确定”按钮文字颜色
.btnTextColor(Color.BLUE)
// 使用沉浸式状态栏
.statusBarColor(Color.parseColor("#3F51B5"))
// 返回图标ResId
.backResId(android.support.v7.appcompat.R.drawable.abc_ic_ab_back_mtrl_am_alpha)
// 标题
.title("图片")
// 标题文字颜色
.titleColor(Color.WHITE)
// TitleBar背景色
.titleBgColor(Color.parseColor("#3F51B5"))
// 裁剪大小。needCrop为true的时候配置
.cropSize(1, 1, 200, 200)
.needCrop(true)
// 第一个是否显示相机,默认true
.needCamera(false)
// 最大选择图片数量,默认9
.maxNum(9)
.build();
// 跳转到图片选择器
ISNav.getInstance().toListActivity(this, config, REQUEST_LIST_CODE);1234567891011121314151617181920212223242526272829303132
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// 图片选择结果回调
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) {
List<String> pathList = data.getStringArrayListExtra(ImgSelActivity.INTENT_RESULT);
for (String path : pathList) {
tvResult.append(path + "\n");
}
}
}
————————————————
版权声明:本文为CSDN博主「LeBron_Six」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yyh352091626/article/details/52154583