Jetpack Compose 旨在配合既有的基于 View 的界面构造方式一起使用。如果您要构建新应用,最好的选择可能是使用 Compose 实现整个界面。但是,如果您要修改现有应用,那么请不要一次性迁移整个应用,而是可以将 Compose 与现有的界面设计实现相结合。
要将 Compose 与基于 View 的界面结合使用,有两种主要方法:
将 Compose 元素添加到现有界面中。具体方式是创建基于 Compose 的全新屏幕,或者将 Compose 元素添加到现有的 activity、fragment 或 View 布局中。
将基于 View 的界面元素添加到可组合函数中。如此一来,您便可在基于 Compose 的设计中添加 Android View。
最好是按照项目所需的粒度逐步将整个应用迁移到 Compose。您可以一次迁移一个屏幕,甚或一次迁移一个 fragment 或其他任何可重复使用的界面元素。可通过多种不同的方式实现,具体如下:
“自下而上”方式:采用这种方式时先迁移屏幕上较小的界面元素(例如
Button
或TextView
),然后迁移ViewGroup
元素,直到将所有元素都转换为可组合函数。“自上而下”方式:采用这种方式时先迁移 fragment 或视图容器(例如
FrameLayout
、ConstraintLayout
或RecyclerView
),然后迁移屏幕上较小的界面元素。
上述方式都假定每个屏幕都是独立的,但也可以将共享界面(例如设计系统)迁移到 Jetpack Compose。如需了解详情,请参阅将 Compose 与现有界面集成。
以下页面详细介绍了如何将 Compose 与现有应用集成:
- 向应用中添加 Compose:了解有关如何在基于 View 的现有应用中开始使用 Compose 的基础知识。
- Interoperability API:了解 Compose 的 API 如何帮助您将 Compose 与基于 View 的界面合并。
- 将 Compose 与您的现有应用架构集成:了解如何在应用中使用 Compose 时合并基于 View 的界面和基于 Compose 的界面。
- 在现有界面中集成 Compose:了解如何在应用界面的 Compose 部分和非 Compose 部分共享基于 View 的界面元素。