【发布时间】:2021-10-27 22:15:44
【问题描述】:
我目前正在研究 Jetpack Compose,试图使用现代 Android 架构组件构建功能丰富的应用程序。传统上,我的应用程序中的每个屏幕(或导航单元)要么是一个活动,要么是一个片段,每个都有自己的生命周期绑定,但使用 Jetpack Compose 和 Compose Navigation 库,我会做这样的事情:
MainActivity.kt:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val navController = rememberNavController()
NavHost(navController = navController, startDestination = "main") {
composable("main") { MainScreen(navController) }
// More composable calls
}
}
}
}
MainScreen 只是一个可组合的。我的问题是:
- 对于这个可组合的“生命周期”,这里的等价物是什么?假设我想在加载屏幕、销毁屏幕等时执行一些操作。这可能与我有更多屏幕并在它们之间导航的情况更相关
- 有没有办法在 Compose 和标准活动之间进行集成?也就是说,为屏幕定义活动,每个活动都是
ComponentActivity并定义自己的可组合布局?是否出于某种原因不鼓励这样做?
【问题讨论】:
标签: android kotlin android-jetpack-compose