家族战队|Jetpack Compose Alpha 版现已发布( 二 )


button.setText(String)container.addView(View)img.setImageBitmap(Bitmap)这些方法会改变组件的内部状态 。 这不仅乏味繁琐 , 而且手动更新视图也会增加出错的可能性 (例如忘记更新视图) 。 Jetpack Compose 是一种完全基于声明式组件的方法 , 这意味着您需要将 UI 描述为将数据转换为 UI 层级结构的函数 。 当基础数据发生变化时 , Compose 框架会自动为您更新 UI 层次结构 , 从而使您可以轻松快速的构建 UI 。

  • 观看视频: 用 Compose 思考:
与现有 Android 视图完全互操作对于现有的项目和代码库来说 , 采用任何新的框架都是一个很大的改变 , 这就是为什么我们把 Compose 设计得和 Kotlin 一样容易采用——它从一开始就可以与现有的 Android 代码完全互操作 。
【家族战队|Jetpack Compose Alpha 版现已发布】是否迁移到 Compose 取决于您和您的团队 。 如果您正在构建一个新的 app , 最好的选择可能是使用 Compose 来实现 app 的整个 UI 界面 。 我们知道大多数人都有大量的现有代码库 , 可以将 Compose 与现有的 UI 设计结合起来 , 而无需重写应用 。
可以通过以下两种主要的方式将 Compose 与基于视图的 UI 结合起来:
  • 您可以添加 Compose 元素到现有的 UI , 或者创建一个全新的基于 Compose 的屏幕 , 或者是向现有的 fragment 或视图布局中添加 Compose 元素 。
  • 您可以将基于视图的 UI 元素添加到可组合的函数中 。 这样做可以将不基于 Compose 的组件添加到基于 Compose 的组件中 , 例如: MapView 或 WebView 。
我们也发布了一个新库 MDC Compose 主题适配器 , 它可以让您在 Compose UI 中复用现有的 Material Components 主题 。
要了解更多相关信息 , 请参阅 Compose for existing apps codelab 或查看以下两个示例:
  • Tivi 和 Sunflower 展示了如何在现有项目中集成 Compose
  • Crane 示例应用 展示了如何在 Compose 嵌入一个 MapView
  • 观看视频: 将 Compose 加入现有的应用:
强大的工具Android Studio 中包含了辅助您使用 Jetpack Compose 的强大工具 , 可以帮助您快速迭代 UI 元素 。
借助 Compose 布局预览 , 您可以预览 Compose 组件 , 而无需将应用部署到设备或模拟器 。 在开发应用时 , 您的预览会更新 , 以帮助您更快地检查变更 。 要创建布局预览 , 请编写一个不使用任何参数的 Composable 函数 , 并添加:
@Preview annotation完成应用构建后 , 预览功能的 UI 会出现在 Android Studio 的 Preview 窗格中 。
家族战队|Jetpack Compose Alpha 版现已发布Android Studio 提供了 交互式预览模式。 在交互式预览模式下 , 您可以在 UI 元素中点击或输入 , UI 将会响应 , 就像是在已安装的应用中一样 。
家族战队|Jetpack Compose Alpha 版现已发布交互式预览工具
您也可以将单个可组合功能部署到物理设备或 Android Emulator 。 Android Studio 会创建一个新的 Activity , 其中包含由将该功能所生成的 UI , 并将其部署到您在设备上的应用 。 这样您就可以实际体验测试 UI , 而无需重新安装整个应用或导航到当前页面 。
家族战队|Jetpack Compose Alpha 版现已发布可组合元素预览