这是我的导航主机
composable(
"${Screens.Start.route}/{tId}",
arguments = listOf(navArgument("tId") {
type = NavType.StringType
})
) {
StartScreen(viewModel, navController, it.arguments?.getString("tId") ?: "")
}
composable(
"${Screens.Timer.route}/{sId}",
arguments = listOf(navArgument("sId") {
type = NavType.StringType
})
) {
TimerScreen(viewModel, navController, it.arguments?.getString("tId") ?: "")
}
}
我从主屏幕到“开始”屏幕很幼稚,但没有从“开始”导航到“计时器”屏幕,我已经传递了与从主屏幕获得的相同的ID。
这个主要可组合的
@Composable
fun Main(task: CustomeTask, navController: NavController) {
Box(.clickable {
navController.navigate("${Screens.Start.route}/${task.pid.toString()}")
}
}
开始屏幕
@Composable
fun StartScreen(viewModel: MainViewModel, navController: NavHostController, id : String) {
onclick{
navController.navigate("${Screens.Timer.route}/{$id}")
}
当我点击按钮时,应用程序崩溃,错误如下
java.lang.NumberFormatException: For input string: "{11}"
at java.lang.Long.parseLong(Long.java:594)
at java.lang.Long.parseLong(Long.java:636)
at com.ashish.custometimer.ui.TimerScreenKt.TimerScreen(TimerScreen.kt:36)
at com.ashish.custometimer.navigation.NavGraphKt$NavGraph$1$6.invoke(NavGraph.kt:64)
at com.ashish.custometimer.navigation.NavGraphKt$NavGraph$1$6.invoke(NavGraph.kt:58)
当您声明您的路由时,{tId}
中的大括号是让导航将什么解析到您的参数中;您的导航调用中不包含这些大括号。
navController.navigate("${Screens.Timer.route}/$id")
所以我试图用Jetpack Compose创建一个应用程序。我有一个屏幕功能,它包含一个没有顶部应用程序栏的脚手架,一个用于导航的底部栏和一个设置在底部栏中的浮动操作按钮。这一切都很好。 但是,当我将NavHost添加到脚手架的内容时,整个事情就停止了工作。没有NavHost,一切都很好,只是内容是屏幕的可组合功能。我尝试了不同数量的NavHost可组合位置,不同的填充值都无济于事。 没有NavH
我在一个应用程序上使用jetpack comuse实现了登录、注册。我将登录用户重定向到主屏幕,并让新用户保持在登录屏幕上。但问题是当我将用户从登录屏幕重定向到主屏幕,用户按下返回按钮时,登录屏幕就会出现。现在我知道这是导航组件的正常行为,但我需要更改它。我如何做到这一点? 使用此行从登录屏幕导航到主屏幕
我刚刚开始学习Jetpack Compose,它真的很好,UI是如此简化。我正在学习如何使用Jetpack组合实现所有XML视图,如(Lazycolumn)等。 我想知道如何在Jetpack Compose中显示AdMob横幅广告。我知道我们可以使用互操作性API使用经典的XML视图。 有没有一种组合方式来实现Admob?或者我只能使用 AndroidView 以编程方式创建横幅广告视图。
我在脚手架下添加了自定义顶栏视图。我如何实现TopBar的以下行为,它是Jetpack compose android中脚手架的一部分。(如果无法扩展,则至少隐藏部分) 谢谢你
我正在尝试创建一个底部有隐藏按钮的项目列表。默认情况下,按钮在屏幕上不可见。 如果用户滚动到列表底部,则该按钮应显示为列表的最后一项。 我创作了插图来更好地形象化期望的行为: 草图1:包含几个项目的列表 草图2:有很多项目的列表 我已经尝试了类似问题的解决方案(https://stackoverflow.com/a/69196765/11720296),并添加了额外的偏移量,但不幸的是它不起作用。
目前在Jetpack Compose中,此代码会抛出一个,因为您无法嵌套两个垂直滚动的Composables: 我不希望网格本身滚动,而只是显示我传递到其中的可组合的固定网格。在 中显示非滚动网格是否有任何解决方法?