Android 带有NavigationUI的工具栏和操作栏

Android 带有NavigationUI的工具栏和操作栏,android,android-actionbar,android-toolbar,android-jetpack-navigation,Android,Android Actionbar,Android Toolbar,Android Jetpack Navigation,我在主要活动的XML布局中有一个工具栏。如中所述,当我使用导航UI创建工具栏时,使用导航UI创建操作栏是否也太多?因此,在我的主要活动中,我有以下几点: override fun onCreate(savedInstanceState: Bundle?) { // AppBar configuration appBarConfiguration =AppBarConfiguration.Builder(setOf(R.id.homeFragment)).build()

我在主要活动的XML布局中有一个
工具栏
。如中所述,当我使用
导航UI
创建
工具栏
时,使用
导航UI
创建
操作栏
是否也太多?因此,在我的主要活动中,我有以下几点:

override fun onCreate(savedInstanceState: Bundle?) {
     // AppBar configuration
     appBarConfiguration =AppBarConfiguration.Builder(setOf(R.id.homeFragment)).build()
     // NavController object
     val navController: NavController = findNavController(R.id.myNavHostFragment)
     // create Toolbar using NavigationUI method
     setupToolbar(navController, appBarConfiguration)

     // create ActionBar using NavigationUI method
     setupActionBar(navController, appBarConfiguration)
}

private fun setupToolbar(navController: NavController, appBarConfiguration: AppBarConfiguration) {
     binding.toolbar.setupWithNavController(navController, appBarConfiguration)
}

private fun setupActionBar(navController: NavController, appBarConfiguration: AppBarConfiguration) {
     setupActionBarWithNavController(navController, appBarConfiguration)
}
我有点困惑。我两个都需要吗?我是否只需要
设置工具栏()
?他们之间有什么区别


希望有人能帮忙。

这取决于你用什么。如果在XML中使用
,则只需使用
setupToolbar
。但是如果您使用默认的
ActionBar
,它是由
style.xml
中的
Theme.AppCompat.Light
提供的,那么您必须使用
setupActionBar()

您似乎使用了默认的
ActionBar
。尝试仅使用
setuptoolbar()
方法