android - 当我使用底部导航视图时,如何从主页片段的操作栏中删除后退箭头
问题描述
我为每个带有标签的片段创建了三个片段和工具栏。我使用向上导航在主片段和其他片段之间切换。我的问题是,在主要片段中,我想从工具栏中删除后退箭头。我actionBar?.setDisplayHomeAsUpEnabled(false)
在主要活动上试过这个,但没有用。请帮帮我
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val bottomNavView = bottom_nav
val navController = findNavController(R.id.fragment_nav_host)
setSupportActionBar(toolbar)
val actionBar = supportActionBar
val appbarConfig = AppBarConfiguration(setOf(R.layout.fragment_home,R.layout.fragment_favorite,R.layout.fragment_profile))
setupActionBarWithNavController(navController,appbarConfig)
bottomNavView.setupWithNavController(navController)
}
override fun onSupportNavigateUp(): Boolean {
val navController = this.findNavController(R.id.fragment_nav_host)
return navController.navigateUp()
}
}
这是 activity_main 布局上的工具栏代码
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:theme="@style/toolbarTheme"
app:layout_constraintTop_toTopOf="parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary" />
解决方案
您需要禁用操作栏的主页按钮,如下所示
setSupportActionBar(toolbar)
val actionBar = supportActionBar
if (actionBar != null) {
actionBar?.setDisplayShowHomeEnabled(false);
actionBar?.setHomeButtonEnabled(false);
}
推荐阅读
- java - Java.security - 如何将 KeyPair 密钥存储在字符串中。我收到无效的 DER 编码异常
- android - 如何在 FrameLayout 中将元素放置在彼此下方?
- r - 我想创建一个可以触发以填充 for 循环结果的反应数据框
- python - 加密/解密字符串索引必须是整数
- javascript - 查询 JavaScript 对象
- reactjs - 即使存在键,仍然会收到“映射项应该有键”警告
- ios - 绘制带有一些阴影偏移的圆边平行四边形
- php - PHP 表单清单显示“For:”标签而不是“Value:”
- android - android测试找不到符号方法natural()
- r - R - 将一个值拆分为每一层内的数量