android图库选择器Matisse的应用

2024-05-28 14:58

本文主要是介绍android图库选择器Matisse的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图库选择器Matisse的应用

  • 欢迎使用Matisse图库选择器
    • 添加依赖
    • 添加权限
    • 代码混淆
    • 代码应用

欢迎使用Matisse图库选择器

Matisse是一款精心设计的Android本地图像和视频选择器。您可以

  • 在Activity或Fragment中使用它
  • 选择包括JPEG,PNG,GIF和视频在内的图像,包括MPEG,MP4
  • 应用不同的主题,包括两个内置主题和自定义主题
  • 不同的图像加载器
  • 自定义过滤规则

添加依赖

repositories {jcenter()
}dependencies {compile 'com.zhihu.android:matisse:$latest_version'
}

添加权限

android.permission.WRITE_EXTERNAL_STORAGE

代码混淆

如果您使用Picasso作为图像引擎,请添加规则:
-dontwarn com.squareup.picasso.**

如果您使用Glide作为图像引擎,请添加规则:
-dontwarn com.bumptech.glide.**

代码应用

       /*** choose是选择的内容,* showSingleMediaType()是否只显示选择的类型的缩略图,* capture()是否提供拍照功能* captureStrategy()存储位置* countable()是否显示选中数量,* maxSelectable()最大选择数,* addFilter()添加一个过滤器,是在我们选择的类型上进一步过滤。* Filter接口有两个方法,第一个方法返回需要过滤的数据类型,第二个方法决定是否过滤,* gridExpectedSize()缩略图展示的大小,建议120dp* thumbnailScale(0.87f)缩略图的清晰程度(与内存占用有关)。* imageEngine()是我们自定义加载图片框架。* 过滤的话就return new IncapableCause("过滤的原因"); 填入过滤的原因即可。* theme主题色,R.style.Matisse_Zhihu (灯光模式),R.style.Matisse_Dracula (暗模式)* restrictOrientation屏幕方向* originalEnable是否支持原图* maxOriginalSize原图大小* autoHideToolbarOnSingleTap是否自动隐藏Toolbar*/Matisse.from(CommonBrowserActivity.this).choose(MimeType.ofImage(), true).showSingleMediaType(true).capture(true).captureStrategy(new CaptureStrategy(true, "这里填写配置文件中provider的authorities值", "目录名称")).countable(true).maxSelectable(9).theme("这里可以自定义主题风格").addFilter(new Filter() {@Overrideprotected Set<MimeType> constraintTypes() {return new HashSet<MimeType>() {{add(MimeType.GIF);}};}@Overridepublic IncapableCause filter(Context context, Item item) {if (!needFiltering(context, item)) {return null;} else {return new IncapableCause(IncapableCause.DIALOG, "暂不支持您选择的图片类型");}}}).setOnSelectedListener(new OnSelectedListener() {@Overridepublic void onSelected(List<Uri> uriList, List<String> pathList) {}}).restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT).thumbnailScale(0.95f).imageEngine("图片选择框架默认Glide v3,如果你使用的是Glide v4则需要自己实现").forResult("这里填写请求码,用于结果回调");
    @Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (resultCode == Activity.RESULT_OK) {if (requestCode == "这里是你的请求码") {// 返回结果List<Uri> list = Matisse.obtainResult(data);// 具体业务逻辑实现}}}

这篇关于android图库选择器Matisse的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1010896

相关文章

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng

Java中的随机数生成案例从范围字符串到动态区间应用

《Java中的随机数生成案例从范围字符串到动态区间应用》本文介绍了在Java中生成随机数的多种方法,并通过两个案例解析如何根据业务需求生成特定范围的随机数,本文通过两个实际案例详细介绍如何在java中... 目录Java中的随机数生成:从范围字符串到动态区间应用引言目录1. Java中的随机数生成基础基本随

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne