Accompanist - 拥抱Jetpack Compose的扩展神器
Accompanist是一个精心设计的库集合,旨在为Jetpack Compose提供开发者所需但尚未在官方工具包中提供的功能。这个实验室环境不仅填补了Compose的空白,还尝试新的API,并从开发者的角度收集对构建Compose库的见解。最终目标是将这些库整合到官方工具包中。
项目技术分析
Accompanist随Jetpack Compose版本发展而更新,以确保与不同版本的兼容性。每个发布版本都会清楚地说明所依赖的Compose UI库的版本。通过指定versionPrefix
,你可以轻松找到匹配你Compose版本的Accompanist库:
| Compose 版本 | Maven Central 标签 |
|-------------|---------------------|
| 1.0.x | 0.20 |
| 1.1.x | 0.23 |
| 1.2.x | 0.25 |
| 1.3.x | 0.28 |
| 1.4.x | 0.30 |
| 1.5.x | 0.32 |
| 1.6.x | 0.34 |
| 1.7.x | 最新 |
重要提示:升级Accompanist时会通过传递性依赖升级Compose库。因此,请确保你的Accompanist版本与Compose UI版本相匹配。
库功能详解
-
Permissions:提供对Android运行时权限的支持,使得在Compose应用中处理权限请求变得简单。
-
Drawable Painter:让你能够将Android Drawables作为Compose的Painters使用,丰富你的UI元素绘制。
-
Adaptive:一套用于自适应布局的实用工具,帮助你在不同设备上实现一致的设计体验。
-
Swipe to Refresh (已废弃):已被弃用,建议迁移至Compose内置的PullRefresh功能。
-
AppCompat Theme Adapter (已废弃):提供了将AppCompat XML主题应用于Compose的能力,但现在已被弃用,建议使用Accompanist的新特性进行迁移。
-
Pager (已废弃):已被弃用,现在推荐使用Compose内置的Pager组件。
-
Flow Layouts (已废弃):已迁移到Compose的FlowLayout。
-
Navigation-Animation (已废弃) 和 Navigation-Material (已废弃):已被Jetpack Navigation Compose内置支持替代。
-
Placeholder (已废弃):方便的占位符修饰符,可在加载内容时显示UI。
-
System UI Controller (已废弃):推荐使用边缘到边缘功能进行迁移。
-
Theme Adapters(AppCompat, Material, Material 3):提供了在Compose中复用XML主题的功能,但现在都被弃用,转向使用Compose原生支持。
-
Web (已废弃):为Compose提供了基本的WebView支持。
-
Test Harness (已废弃):测试Compose布局的实用工具。
-
Insets (已废弃并移除):已被Compose的Insets功能取代,建议迁移。
未来展望
随着Compose的发展,Accompanist中的某些特性可能会被官方API取代,这可能导致它们被废弃。Accompanist团队将尽量提供平滑的迁移路径来引导开发者过渡。
开发者贡献
欢迎任何形式的贡献!只需提交Pull Request,确保先阅读贡献指南。
许可证
Accompanist遵循Apache 2.0许可证,详细信息见LICENSE。
名称由来
如同音乐创作由作曲家完成,Accompanist这一名字来源于伴奏者——在音乐创作中辅助和支持的角色,寓意着它在Compose的生态系统中起到补充和完善的作用。
探索Accompanist,让Compose开发更上一层楼!