android - 如何使用 Jetpack 撰写应用栏后退按钮
问题描述
getActionBar().setDisplayHomeAsUpEnabled(true) 这是我用于普通 android appCp、pact 活动以在两个或多个活动之间切换的。谁能告诉我如何在 jetpack Compose 中执行此操作?
解决方案
另一个答案对于显示后退按钮是正确的。这是一个使用TopAppBar
可组合的替代方案。
我也遇到了类似的问题。我想解决的主要问题是当您位于根目录时或者如果 backstack 中没有任何内容时隐藏后退按钮,setDisplayHomeAsUpEnabled
因为只要您指定了您的父母,就可以解决这个问题。
假设您正在使用带有 compose 的导航控制器,您可以执行以下操作
val navController = rememberNavController()
Scaffold(
topBar = {
TopAppBar(
title = { Text(text = "app bar title") },
navigationIcon = if (navController.previousBackStackEntry != null) {
{
IconButton(onClick = { navController.navigateUp() }) {
Icon(
imageVector = Icons.Filled.ArrowBack,
contentDescription = "Back"
)
}
}
} else {
null
}
)
},
content = {
// Body content
}
)
这里的关键是在后堆栈中没有任何内容时设置tonavigationIcon
的参数。这样,当您位于根目录时,后退箭头将被隐藏,否则会显示。TopAppBar
null
推荐阅读
- java - 用图像制作一个按钮
- java - 比较两个复杂的字符串数组列表
- css - How to center button overlaying image with React Bootstrap?
- django - Django template conditional statement
- azure-devops - 如何在 Azure DevOps 中完成 PR 后自动触发构建
- javascript - Cannot read NULL variable in PHP after posting JSON array through .ajax()
- python - __str__ method iterating over class attributes
- c# - Regex expression "\\u002E[^\x5C]*$" not working in C#
- java - Spring JMS 消息不会重试或出错时进入 Backout Queue
- arrays - Implementing add method for array-type property in custom class