我已经创建了三个片段和工具栏为每个片段与标签。我已经使用导航切换到主页片段和其他片段。我的问题是,在主要片段中,我想从工具栏中删除返回箭头。我已经尝试了这个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" />
4条答案
按热度按时间guykilcj1#
在“创建的视图”中,添加以下内容
(活动为应用程序兼容活动).supportActionBar?.setDisplayHomeAsUpEnabled(假)
ibrsph3r2#
您需要禁用操作栏的主页按钮如下
pjngdqdw3#
终于找到了答案。如果你检查文档的setupActionBarWithNavController,你会注意到,这里设置的动作栏返回的方法getSupportActionBar()和NOT getActionBar(),在每个线程中建议使用。
现在,如果您希望像我所希望的那样在片段级别上进行此操作,那么您还需要将片段保存的Activity强制转换为AppCompatActivity,以便您可以访问supportActionBar。
就像这样:
8wigbo564#
Java代码将以下内容放入onview创建(.....)