1.首先在build.gradle中加入
implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.2.3'
2. /** * 选择多张图片 */ private void selectmanyPics(int maxNum) { PictureSelector.create(MainActivity.this) .openGallery(PictureMimeType.ofImage()) .maxSelectNum(maxNum) .selectionMedia(selectList) .forResult(REQUEST_UPLOAD_MANYFILE); } /** * 选择视频 */ private void selectVideo() { PictureSelector.create(MainActivity.this) .openGallery(PictureMimeType.ofVideo()) .maxSelectNum(1) .selectionMedia(selectList) .forResult(REQUEST_UPLOAD_FILE); }
/** * 选择文件 */ private void openFileManager() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*");//设置类型,我这里是任意类型,任意后缀的可以这样写。 intent.addCategory(Intent.CATEGORY_OPENABLE); startActivityForResult(intent, REQUEST_UPLOAD_FILE); }
/** * 选择一张图片-带剪切 */ private void selectgOneCutPic() { PictureSelector.create(MainActivity.this) .openGallery(PictureMimeType.ofImage()) .imageSpanCount(3) .maxSelectNum(1) .selectionMode(PictureConfig.SINGLE) .previewImage(true) .previewVideo(false) .enableCrop(true) .freeStyleCropEnabled(false) .circleDimmedLayer(false) .showCropFrame(true)// 是否显示裁剪矩形边框 圆形裁剪时建议设为false true or false .isCamera(true) .isZoomAnim(true) .showCropFrame(true)// 是否显示裁剪矩形边框 圆形裁剪时建议设为false true or false .showCropGrid(false) .cropWH(600, 600) .withAspectRatio(1, 1) .selectionMedia(selectList) .minimumCompressSize(100) .isDragFrame(true) .forResult(PictureConfig.CHOOSE_REQUEST); }