使用 Dialog 作为带有 jetpack compose 的导航目的地

Mor*_*itz 5 android-jetpack-navigation android-jetpack-compose

一个对话框可以有一个相当复杂的用户界面,更像是一个浮动屏幕而不是一个典型的 AlertDialog。因此,可能希望让对话框拥有自己的对话框ViewModel并能够导航到它。使用 jetpack compose 导航工件时,代码表明NavHost.

有没有办法导航到覆盖在当前 ui 上的对话框?这与我们如何导航到片段对话框是一致的。谢谢。

nwa*_*agu 26

啊哈。现在,这是撰写导航版本 2.4.0-alpha04 中的一项功能

发行说明来看

除了可组合目标之外,导航撰写工件的 NavHost 现在还支持对话框目标。这些对话框目标将分别显示在可组合对话框中,浮动在当前可组合目标上方。

val navController = rememberNavController()
Scaffold { innerPadding ->
    NavHost(navController, "home", Modifier.padding(innerPadding)) {
        composable("home") {
            // This content fills the area provided to the NavHost
            HomeScreen()
        }
        dialog("detail_dialog") {
            // This content will be automatically added to a Dialog() composable
            // and appear above the HomeScreen or other composable destinations
            DetailDialogContent()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 底页对话怎么样 (4认同)
  • 如何关闭 DetailDialogContent() 块内的对话框 (2认同)

小智 1

这是一个功能请求: https: //issuetracker.google.com/issues/179608120 您可以给它加注星标,这样我们也许会提高它的优先级