-
Notifications
You must be signed in to change notification settings - Fork 60
Home
leavesCZY edited this page Jun 29, 2023
·
30 revisions
一个用 Jetpack Compose 实现的 Android 图片/视频 选择框架
特点 & 优势:
- 适配到 Android 13
- 解决了多个系统兼容性问题
- 按需索取权限,极简的权限声明
- 完全用 Kotlin & Jetpack Compose 实现
- 支持自定义主题,提供了日夜间两套默认主题
- 支持多种拍照策略,可以自由选择是否要申请权限
关联的文章:
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
dependencies {
implementation "com.github.leavesCZY:Matisse:latestVersion"
}
- 0.0.9 ~ 0.0.14 版本只支持选择图片
- 1.0.0 版本开始支持选择视频,并允许外部自定义加载图片的逻辑。此版本进行了大范围重构,性能较之前也有所提升,如遇到问题请提 issues 反馈
请参照对应版本的接入指南进行接入
此外还有一些注意事项
-
Jetpack Compose 在 debug 和 release 模式下性能差异较大,建议进行性能测试时使用 release 包,这里也提供 Apk 下载:Releases
-
Matisse 通过 compose-bom 来管理依赖,当前对应的版本是
2023.04.00
。由于 Jetpack Compose 的迭代速度很快,一些 API 可能会随着版本更迭而变化,如果遇到崩溃问题,可以先检查下是否由于 Jetpack Compose 使用的是非 release 版本造成的 -
由于 Matisse 是通过 Jetpack Compose 来实现 UI 层的,所以即使引用方没有直接使用 Jetpack Compose,也需要开启对 Jetpack Compose 的支持。kotlinCompilerExtensionVersion 的具体版本取决于引用方的 Kotlin 版本:Compose to Kotlin Compatibility Map
android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion "x.x.x" } }