关于 compose 的架构分层

目前 1.1 版本中总有七个组
image.png
compiler 是在 app gradle 文件下指定的( android { } 下)
image.png
分层架构如下:
image.png
注意:Button 是在 material 层下
从依赖上看:一般只需要依赖 material 即可,如果不需要 Material Design 的风格,那就依赖 foundation 即可。
Jetpack Compose 汇总知识 - 图4
如果需要一些图标的扩展则引用:"androidx.compose.material:material-icons-extended:$compose_version"它不依赖 material,而androidx.compose.material:material-icons-core:$compose_version依赖 material。
还有一个例外是androidx.compose.ui:ui-tooling:$compose_version并不依赖 ui 层,这是关于预览功能的(即:@Preview)需要时,要单独引用
所以引用 compose 一般只需要引用:

  1. implementation "androidx.compose.material:material:$compose_version"
  2. implementation "androidx.compose.ui:ui-tooling:$compose_version"
  3. // 不需要这个也可以去掉
  4. implementation "androidx.compose.material:material-icons-extended:$compose_version"