Android 带有NavigationUI的工具栏和操作栏
我在主要活动的XML布局中有一个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()
工具栏
。如中所述,当我使用导航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()
方法