美文网首页
知乎Matisse的使用

知乎Matisse的使用

作者: b_b_d | 来源:发表于2019-03-12 14:51 被阅读0次

    1.说明

    选择图片或视频并提供预览功能的第三方开源库

    2.地址

    implementation group: 'com.zhihu.android', name: 'matisse', version: '0.5.2-beta4'
    

    3.异常

    Matisse依赖support:appcompat-v7:27.1.1,需要注意主体项目的support版本是否一致

    4.权限

      Manifest.permission.WRITE_EXTERNAL_STORAGE,
      Manifest.permission.READ_EXTERNAL_STORAGE
    

    注:Android 6.0及其以上需要动态申请权限

    5.使用

    • 在Activity或者Fragment中调用
     RxPermissions(this).request(
                Manifest.permission.WRITE_EXTERNAL_STORAGE,
                Manifest.permission.READ_EXTERNAL_STORAGE
            ).subscribe {
                if (it) {
                    //用户同意授权
                    Matisse.from(this@IndexActivity)
                        ///选择仅图片、仅视频或者两者兼顾
                        .choose(MimeType.ofImage())
                        //是否统计选择的顺序
                        .countable(true)
                        //最大选择数量
                        .maxSelectable(9)
                        //屏幕方向
                        .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
                        //缩略比例
                        .thumbnailScale(0.80f)
                        //图片加载工程(内置glide和picasso,glide4需自己实现ImageEngine)
                        .imageEngine(Glide4Engine())
                        //启动图片选择页面RequestCode
                        .forResult(REQUEST_CODE_CHOOSE)
                } else {
                    //用户拒绝授权
                }
            }
    
    • 在Activity或者Fragment的OnXXXResult方法中获取选择结果
     override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
            super.onActivityResult(requestCode, resultCode, data)
            if (requestCode == REQUEST_CODE_CHOOSE 
                && resultCode == Activity.RESULT_OK) {
                Matisse.obtainResult(data).forEach { uri ->
                    // do something
                    Log.e("APP", uri.path)
                }
            }
        }
    

    相关文章

      网友评论

          本文标题:知乎Matisse的使用

          本文链接:https://www.haomeiwen.com/subject/pwrgpqtx.html