Android ------ 知乎开源的图片选择器 Matisse

图片选择其实在Android 项目中还是很常用的,拍照或者从相册中选择图片,视频等

像微信那样的手机相册选择器,我以前一直都在使用的一款,特来分享一哈

知乎图片选择框架Matisse 

先来看看效果图:(可以自己改变样式和是否有相机)

 

预览效果图和微信一样左右滑动即可

导入依赖:

implementation 'com.zhihu.android:matisse:0.5.3-beta3'

点击按钮第一种场景调用:

/**
         * MimeType.ofAll() -->全部类型
         * MimeType.ofImage() -->图片
         * MimeType.ofVideo() -->视频
         * maxSelectable  选择的最大数量
         *
         */
        Matisse.from(PhotoActivity.this)
                .choose(MimeType.ofAll())
                .countable(true)
                .maxSelectable(9)
                .addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))                         
                .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
                .thumbnailScale(0.85f)
                .imageEngine(new GlideEngine())
                .showPreview(false)

                //这两行要连用 是否在选择图片中展示照相 和适配安卓7.0 FileProvider
                .capture(true)
                .captureStrategy(new CaptureStrategy(true,"PhotoPicker"))

                //蓝色主题
                // .theme(R.style.Matisse_Zhihu)
                //黑色主题
                .theme(R.style.Matisse_Dracula)
                //Glide加载方式
                .imageEngine(new GlideEngine())
                //Picasso加载方式
                // .imageEngine(new PicassoEngine())
                //请求码
                .forResult(REQUEST_CODE_CHOOSE);

点击按钮第二种场景调用:

Matisse.from(PhotoActivity.this)
       .choose(MimeType.ofImage())
       .countable(true)
       .maxSelectable(9)
       .addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
       .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
       .thumbnailScale(0.85f)
       .imageEngine(new GlideEngine())
       .showPreview(false)
       .theme(R.style.Matisse_Zhihu)
        //Glide加载方式
       .imageEngine(new GlideEngine())
       .forResult(REQUEST_CODE_CHOOSE);

数据接收:

 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (requestCode == REQUEST_CODE_CHOOSE && resultCode == RESULT_OK) {
            //图片路径 同样视频地址也是这个
            List<String> pathList = Matisse.obtainPathResult(data);
            //Uri 格式的
            List<Uri> pathList1 = Matisse.obtainResult(data);

            for (int i = 0; i < pathList.size(); i++) {
                Log.i("图片"+(i+1)+"地址",pathList.get(i));
            }

        }
  }


选择图片确定,打印的数据:

特点:

Matisse 是知乎开源的一个漂亮的 Android 本地图片、视频选择器。其主要功能有:

  1. 选择包括 JPEG、PNG、GIF 格式的图片和 MPEG、MP4 格式的视频

  2. 支持自定义主题,包括两个内置的主题

  3. 不同的图片加载器

  4. 定义自定义过滤规则

  5. 在 Activities 和 Fragments 中使用良好

这是非常好用的一个库,希望能帮助到各位

官方文档地址:https://github.com/zhihu/Matisse/

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
知乎是一个知识分享平台,也是一个社交问答的平台。在知乎上,用户可以提出问题,也可以回答其他用户的问题,共同交流和分享知识。而x-zse-96是一个用户在知乎上的用户名,代表了这个用户在知乎上的个人身份。 知乎为用户提供了一个广阔的知识世界,用户可以在这里找到各种各样的问题和答案,涵盖了生活、科技、文化、艺术等各个领域。在知乎上,用户可以向其他人请教问题,也可以分享自己的知识和经验,进行知识的交流和探讨。通过回答他人的问题,用户可以向其他人展示自己的专业知识和见解,也可以通过其他人的回答来扩展自己的知识面。 而x-zse-96作为一个知乎用户,在知乎上也可以发挥自己的作用。用户可以根据自己的兴趣和专业领域,回答其他用户的问题,分享自己的知识和经验。通过在知乎上的互动,用户可以结识到志同道合的人,参与到各种讨论和话题中。 知乎作为一个知识分享平台,追求高质量的内容和专业的讨论。在知乎上,用户可以查找到各种有深度的问题和答案,扩展自己的知识和视野。同时,用户也可以通过关注感兴趣的话题和用户,得到最新的信息和讨论。知乎致力于打造一个开放、包容、有质量的知识社区,为用户提供一个学习和成长的平台。对于x-zse-96这个用户来说,知乎是他分享和获取知识的地方,也是他展示自己的才华和见解的舞台。通过知乎,他可以与全世界的用户进行交流和互动,共同探索和传播知识的力量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值