图片选择属性配置:
//图片选择全部功能
PictureSelector.with(this)
.selectSpec() //图片选择属性配置
.setImageLoader(new GlideImageLoader()) //图片加载方案,默认提供了GlideImageLoader
.setSpanCount(3) //图片一行显示几张图片
.setOpenCamera() //开启系统拍照功能
.needCrop() //是否是否需要剪裁
.setOutputX(200) //设置图片剪裁的大小
.setOutputY(200) //设置图片剪裁的大小
.setAuthority("org.lym.picture.selector.fileprovider") //适配Android7.0系统拍照
.setMaxSelectImage(single ? 1 : 9) //设置图片多选
.startForResult(IMAGES_CODE); //开启图片选择
//单选图片
PictureSelector
.with(this)
.selectSpec()
.startForResult(IMAGES_CODE);
//单选图片并开启剪裁并设置图片剪裁的大小
PictureSelector
.with(this)
.selectSpec()
.needCrop()
.setOutputX(200)
.setOutputY(200)
.startForResult(IMAGES_CODE);
//单选图片并开启相册拍照
PictureSelector
.with(this)
.selectSpec()
.setOpenCamera()
//开启拍照功能一定得设置该属性,为了兼容Android7.0相机拍照问题
//在manifest文件中也需要注册该provider
.setAuthority("org.lym.picture.selector.fileprovider")
.startForResult(IMAGES_CODE);
//图片多选
PictureSelector.with(this)
.selectSpec()
.setOpenCamera()
.setMaxSelectImage(3)
.startForResult(IMAGES_CODE);
接收:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == IMAGES_CODE && resultCode == Activity.RESULT_OK) {
if (null != data) {
//图片单选和多选数据都是以ArrayList的字符串数组返回的。
List<String> paths = PictureSelector.obtainPathResult(data);
mResultAdapter.setNewData(paths);
}
}
}