如何构建 Jetpack Compose 项目?

Ric*_*ard 10 android android-jetpack android-jetpack-compose

我是 Android 和 Jetpack Compose 的新手。使用 Views 屏幕是在不同的 Fragment 或 Activity 中定义的,但使用 Compose 时,看起来所有屏幕都是在 MainAcitivity 中定义的。使用 Compose 时为不同屏幕构建屏幕代码的最佳方法是什么?这里有最佳实践指南吗?

sit*_*ech 18

我认为没有“最好”的方式来构建代码,这取决于项目的大小和您的偏好。但我是这样组织 compose 项目的 UI 层的:

Jetpack compose 项目结构

  • screens:包含包含特定于屏幕的组件和最终视图模型(如home.
  • Navigation.kt:包含NavHost和其他与导航相关的实用程序。我使用navigation-compose库来管理应用程序导航。
  • screens/shared:包含不特定于单个屏幕的类或/和函数,例如:在不同屏幕或共享视图模型中使用的可重用组件。
  • MainActivity:设置包含 的可组合项NavHost作为其内容。
  • GameResApplication:没有什么特别的,我创建它是因为我正在使用Hilt
  • theme:由 Android Studio 创建。
  • utils:我在可组合项中使用的一些 UI 实用程序和虚假数据@Preview

这是github上的一个真实的项目示例