android知乎多图片选择,知乎开源图片选择库 Matisse
原標(biāo)題:知乎開(kāi)源圖片選擇庫(kù) Matisse
我的引言
Matisse,知乎開(kāi)源,簡(jiǎn)潔,易用,不錯(cuò)的圖片選擇庫(kù)。
效果預(yù)覽
項(xiàng)目簡(jiǎn)介
1、直接在 Activity 和 Fragment 中調(diào)用即可;
2、支持的圖片格式有 JPEG、PNG、GIF,并且支持 MPEG、MP4 格式的視頻;
3、內(nèi)置兩種不同的主題,并且可以自定義主題;
4、支持選擇不同的圖片加載器,如 Picasso、Glide;
5、支持不同的篩選規(guī)則;
6、支持橫豎屏切換;
使用說(shuō)明
app/build.gradle:
repositories {
jcenter
}
dependencies {
implementation 'com.zhihu.android:matisse:0.5.0-alpha4'
}
代碼調(diào)用:
Matisse.from(SampleActivity. this)
//圖片/視頻格式
.choose(MimeType.ofAll, false)
//設(shè)置主題,默認(rèn)知乎主題
.theme(R.style.Matisse_Dracula)
//設(shè)置選取數(shù)自動(dòng)增加
.countable( true)
//是否帶拍照
.capture( true)
//設(shè)置保存圖片權(quán)限策略
.captureStrategy(
newCaptureStrategy( true, "com.zhihu.matisse.sample.fileprovider"))
//圖片選取最大數(shù)
.maxSelectable( 9)
//選擇item增加過(guò)濾器
.addFilter( newGifSizeFilter( 320, 320, 5* Filter.K * Filter.K))
//設(shè)置媒體網(wǎng)格的期望大小,以適應(yīng)不同屏幕大小
.gridExpectedSize(
getResources.getDimensionPixelSize(R.dimen.grid_expected_size))
//設(shè)置Activity方向
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
//設(shè)置圖片縮略圖
.thumbnailScale( 0.85f)
//設(shè)置圖片引擎,默認(rèn)Glide
.imageEngine( newGlideEngine)
//開(kāi)始選取照片、等待結(jié)果
.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 模式、圖片引擎等值得學(xué)習(xí)。返回搜狐,查看更多
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的android知乎多图片选择,知乎开源图片选择库 Matisse的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 娇惯的同伴是谁画的呢?
- 下一篇: 开一个小超市大概需要多少钱