一、绝招:
compile 'com.yuyh.imgsel:library:1.3.8'
二、方法|+配置
openChooser(6-Bimp.bmp.size());
// 自定义图片加载器
private ImageLoader loader = new ImageLoader() {
@Override
public void displayImage(Context context, String path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
};
private void openChooser(int max) {
// 自由配置选项
ImgSelConfig config = new ImgSelConfig.Builder(mContext, loader)
// 是否多选, 默认true
.multiSelect(true)
// 是否记住上次选中记录, 仅当multiSelect为true的时候配置,默认为true
.rememberSelected(false)
.btnText("确定")
// “确定”按钮背景色
.btnBgColor(Color.parseColor("#00000000"))
// “确定”按钮文字颜色
.btnTextColor(Color.parseColor("#3F51B5"))
// 使用沉浸式状态栏
.statusBarColor(Color.parseColor("#3F51B5"))
// 返回图标ResId
.backResId(R.drawable.bar_back_selector)
// 标题
.title("添加照片")
// 标题文字颜色
.titleColor(Color.BLACK)
// TitleBar背景色
.titleBgColor(Color.parseColor("#11ffffff"))
// 裁剪大小。needCrop为true的时候配置
// .cropSize(1, 1, 200, 200)
.needCrop(false)
// 第一个是否显示相机,默认true
.needCamera(true)
// 最大选择图片数量,默认9
.maxNum(max)
.build();
// 跳转到图片选择器
ImgSelActivity.startActivity(mContext, config, 1000);
}
三、onActivityResult 结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// 图片选择结果回调
if (requestCode == 1000 && resultCode == RESULT_OK && data != null && Bimp.drr.size() < 6) {
List<String> photoPathList = data.getStringArrayListExtra(ImgSelActivity.INTENT_RESULT);
for (String photoPath : photoPathList) {
Bimp.drr.add(photoPath);
}
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// 图片选择结果回调
if (requestCode == 1000 && resultCode == RESULT_OK && data != null) {
addPhotoToNet(data);
}
}
private void addPhotoToNet(Intent data) {
List<String> photoPathList = data.getStringArrayListExtra(ImgSelActivity.INTENT_RESULT);
ArrayList<PhotoBean> photoLists = new ArrayList<>();
for (String photoPath : photoPathList) {
file = new File(photoPath);
PhotoBean photoes = new PhotoBean("photo_pic[]",file);
photoLists.add(photoes);
}
String url = OkNetUrl.add_Photo_Post(demoUid);
okDownLoadData.muchPhotoUpLoad(url, photoLists, new OkDownLoadData.ObjectCallBack() {
@Override
public void onFailure(Request request, IOException e) {
ToastUtils.StrToast(mContext, getResources().getString(R.string.no_net));
}
@Override
public void onResponse(String json) {
String message = GsonUtils.jsonToString(json, "message");
ToastUtils.StrToastThread(mContext,message);
}
});
}