android知乎多图片选择,知乎开源图片选择库 Matisse

Matisse是知乎开源的一款简洁易用的图片选择库,支持JPEG、PNG、GIF及MPEG、MP4格式的视频选择。它包含两种内置主题,可自定义主题,支持多种图片加载器,如Picasso、Glide,并具有筛选规则和横竖屏切换功能。使用时只需在build.gradle中添加依赖,并通过Builder模式进行配置。在Activity中调用并处理返回结果。源码清晰,适合学习。
摘要由CSDN通过智能技术生成

原标题:知乎开源图片选择库 Matisse

56a6423e4a3e1235626e9cf42a8dddc4.png

我的引言

Matisse,知乎开源,简洁,易用,不错的图片选择库。

效果预览

23982e6ba61d576d27a9dcd6eb82544d.png

项目简介

1、直接在 Activity 和 Fragment 中调用即可;

2、支持的图片格式有 JPEG、PNG、GIF,并且支持 MPEG、MP4 格式的视频;

3、内置两种不同的主题,并且可以自定义主题;

4、支持选择不同的图片加载器,如 Picasso、Glide;

5、支持不同的筛选规则;

6、支持横竖屏切换;

使用说明

app/build.gradle:

repositories {

jcenter

}

dependencies {

implementation 'com.zhihu.android:matisse:0.5.0-alpha4'

}

代码调用:

Matisse.from(SampleActivity. this)

//图片/视频格式

.choose(MimeType.ofAll, false)

//设置主题,默认知乎主题

.theme(R.style.Matisse_Dracula)

//设置选取数自动增加

.countable( true)

//是否带拍照

.capture( true)

//设置保存图片权限策略

.captureStrategy(

newCaptureStrategy( true, "com.zhihu.matisse.sample.fileprovider"))

//图片选取最大数

.maxSelectable( 9)

//选择item增加过滤器

.addFilter( newGifSizeFilter( 320, 320, 5* Filter.K * Filter.K))

//设置媒体网格的期望大小,以适应不同屏幕大小

.gridExpectedSize(

getResources.getDimensionPixelSize(R.dimen.grid_expected_size))

//设置Activity方向

.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)

//设置图片缩略图

.thumbnailScale( 0.85f)

//设置图片引擎,默认Glide

.imageEngine( newGlideEngine)

//开始选取照片、等待结果

.forResult(REQUEST_CODE_CHOOSE);

onActivityResult:

@Override

protectedvoidonActivityResult( intrequestCode, intresultCode, Intent data){

super.onActivityResult(requestCode, resultCode, data);

if(requestCode == REQUEST_CODE_CHOOSE && resultCode == RESULT_OK) {

List mUris =Matisse.obtainResult(data);

List mPaths=Matisse.obtainPathResult(data);

}

}

源码地址

https://github.com/zhihu/MatisseMatisse

源码是很值得去看看,不是很难,但很多地方如 Builder 模式、图片引擎等值得学习。返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值