retrofit 上传图片或文件,第三方库pictureselector
1.导包
api 'io.github.lucksiege:pictureselector:v2.7.3-rc05'
2.代码
private void updateImage() {
Acp.getInstance(getActivity()).request(new AcpOptions.Builder()
.setPermissions(CAMERA, READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE)
.build(), new AcpListener() {
@Override
public void onGranted() {
PictureSelector.create(getActivity())
.openGallery(PictureMimeType.ofImage())
.imageEngine(GlideEngine.createGlideEngine())// 外部传入图片加载引擎,必传项;不然相册呈现白色背景,不显示图片
.maxSelectNum(1)
.selectionMode(PictureConfig.SINGLE)//PictureConfig.MULTIPLE : PictureConfig.SINGLE // 多选 or 单选
.isEnableCrop(true)// 是否裁剪
.isCompress(true)// 是否压缩
.freeStyleCropEnabled(true)// 裁剪框是否可拖拽
.freeStyleCropMode(OverlayView.DEFAULT_CROP_GRID_COLUMN_COUNT)// 裁剪框拖动模式
.circleDimmedLayer(true)// 是否圆形裁剪
.isAndroidQTransform(true)// 是否需要处理Android Q 拷贝至应用沙盒的操作,只针对compress(false); && .isEnableCrop(false);有效,默认处理
.isOriginalImageControl(false)// 是否显示原图控制按钮,如果设置为true则用户可以自由选择是否使用原图,压缩、裁剪功能将会失效
.forResult(new OnResultCallbackListener() {
@Override
public void onResult(List result) {
// onResult Callback
LogUtils.d(TAG, "图片个数===>" + result.size() + "");
for (int i = 0; i
关注
打赏
热门博文
- kotlin使用retrofit请求报错Parameter type must not include a type variable or wildcard
- android 中Handle弱引用使用
- 颜色透明参数
- flutter 手机端抓包设置
- vite 创建项目
- 鸿蒙 加载本地rowfile文件中的 json 数据
- 鸿蒙 加载长图(大图自动适用屏幕的宽度)
- Android 与Vue 页面交互
- 鸿蒙 保存图片到相册
- 鸿蒙 上传图片路径转换dataability:///media/external/images/media/30为/storage/emulated/0/DCIM/YIIoT/5769014/202