Ser*_*kov 23 kotlin android-jetpack-navigation android-jetpack-compose
NavController 无法以编程方式弹出堆栈中最新的 @Composable。即,如果它是根页面,则 popBackStack() 不起作用。因此,可以通过点击“关闭”按钮视图来关闭应用程序,并且只有硬件后退键允许离开应用程序。
示例:活动
class AppActivity : ComponentActivity() {
override fun onCreate(state: Bundle?) {
super.onCreate(state)
setContent {
val controller = rememberNavController()
NavHost(controller, startDestination = HOME) {
composable(HOME) { HomePage(controller) }
...
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
主页.kt
@Composable
fun HomePage(controller: NavController) {
Button(onClick = {
controller.popBackStack()
}) {
Text("Exit")
}
}
Run Code Online (Sandbox Code Playgroud)
问题:
如果使用 Compose Navigation,如何在 onClick 处理程序中关闭应用程序。
ngl*_*ber 68
你可以使用这个:
@Composable
fun HomePage(controller: NavController) {
val activity = (LocalContext.current as? Activity)
Button(onClick = {
activity?.finish()
}) {
Text("Exit")
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25823 次 |
| 最近记录: |