安卓带照相机的本地图片的选择器

1、采用的框架GitHub链接地址为:

https://github.com/zhihu/Matisse

2、本人实现的方式如下:

本人导入的为GitHub上面的module地址

implementation project(path: ':matisse')

具体的调用处的代码为:

Matisse
                            .from(Fragment.this)
                            .choose(MimeType.ofImage())
                            .countable(true)
                            .maxSelectable(canChooseCount)
                            .addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
                            .gridExpectedSize(getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
                            .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
                            .thumbnailScale(0.85f)
                            .imageEngine(new GlideEngine())
                            .showPreview(false) // Default is `true`
                            .capture(true)  //与下方的captureStrategy共同决定是否显示相机按钮
                            .captureStrategy(new CaptureStrategy(true, "自定义与manifes.xml中的一致.fileprovider"))
                            .theme(com.zhihu.matisse.R.style.Matisse_Zhihu)
                            .showSingleMediaType(true)      //只显示一种媒体类型。需要和上面的choose配合
                            .forResult(REQUEST_CODE_CHOOSE);

重写onActivityResult()方法

private int REQUEST_CODE_CHOOSE = 1;

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == REQUEST_CODE_CHOOSE && resultCode == RESULT_OK) {

            List mSelected = Matisse.obtainPathResult(data);
            
        }
    }

 在manifest.xml清单文件中:


            
        

file_paths_public.xml的内容如下,可从GitHub的项目中获取:




    

其他一些未知内容,可从GitHub的module中获取

你可能感兴趣的:(安卓带照相机的本地图片的选择器)