PictureSelector—一个强大的图片选择器,支持多选,和选聘选择

PictureSelector 2.0

https://github.com/LuckSiege/PictureSelector

一款针对Android平台下的图片选择器,支持从相册获取图片、视频、音频&拍照,支持裁剪(单图or多图裁剪)、压缩、主题自定义配置等功能,支持动态获取权限&适配Android 5.0+系统的开源图片选择框架。

预览图

 

最新版本

implementation 'com.github.LuckSiege.PictureSelector:picture_library:v2.5.8'

 

启动相册

快捷调用,更多功能 请查看

1、onActivityResult

PictureSelector.create(this)
   .openGallery(PictureMimeType.ofImage())
   .loadImageEngine(GlideEngine.createGlideEngine()) // 请参考Demo GlideEngine.java
   .forResult(PictureConfig.CHOOSE_REQUEST);
   
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            switch (requestCode) {
                case PictureConfig.CHOOSE_REQUEST:
                    // 结果回调
                    List<LocalMedia> selectList = PictureSelector.obtainMultipleResult(data);
                    break;
                default:
                    break;
            }            
        }

2、Callback

PictureSelector.create(this)
   .openGallery(PictureMimeType.ofAll())
   .loadImageEngine(GlideEngine.createGlideEngine())
   .forResult(new OnResultCallbackListener<LocalMedia>() {
       @Override
       public void onResult(List<LocalMedia> result) {
            // 结果回调
       }

       @Override
       public void onCancel() {
            // 取消
       }
     });

 

单独拍照

快捷调用,单独启动拍照或视频 根据PictureMimeType自动识别 更多功能 请查看

onActivityResult

PictureSelector.create(this)
   .openCamera(PictureMimeType.ofImage())
   .loadImageEngine(GlideEngine.createGlideEngine()) // 请参考Demo GlideEngine.java
   .forResult(PictureConfig.REQUEST_CAMERA);  
   
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            switch (requestCode) {
                case PictureConfig.REQUEST_CAMERA:
                    // 结果回调
                    List<LocalMedia> selectList = PictureSelector.obtainMultipleResult(data);
                    break;
                default:
                    break;
            }            
        }

Callback

PictureSelector.create(this)
   .openCamera(PictureMimeType.ofImage())
   .loadImageEngine(GlideEngine.createGlideEngine())
   .forResult(new OnResultCallbackListener<LocalMedia>() {
       @Override
       public void onResult(List<LocalMedia> result) {
            // 结果回调
       }

       @Override
       public void onCancel() {
            // 取消
       }
     });

 

更多使用请查看:https://github.com/LuckSiege/PictureSelector

爱编程
  • 本文由 发表于 2020-08-0414:29:16
andorid crop-裁剪开源项目 Android开源

andorid crop-裁剪开源项目

介绍 一个剪裁图片的开发库,他提供了实现剪裁单张图片的activity,其实现是基于AOSP的代码 使用说明: 因为他提供的方式是activity的形式所以首先你需要在manifest 文件中声明: ...
Android CameraView Android开源

Android CameraView

项目说明 这个项目基于Google的非正式开源的CameraView组件,兼容Camera 1 API和Camera 2 API,提供了相机预览、切换前后摄像头、切换闪光灯、切换预览图片的比例以及拍照...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: