大佬教程收集整理的这篇文章主要介绍了android – 导航组件,控制何时显示汉堡包或后退图标,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
class MainActivity : AppCompatActivity() { private lateinit var drawerLayout: androidx.drawerlayout.widget.DrawerLayout override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceStatE) setContentView(R.layout.main_activity) drawerLayout = drawer_layout val navController = Navigation.findNavController(this,R.id.fragment_main_navHost) setSupportActionBar(toolbar) NavigationUI.setupActionBarWithNavController(this,navController,drawerLayout) navView_main.setupWithNavController(navController) } override fun onSupportNavigateUp(): Boolean { return NavigationUI.navigateUp(drawerLayout,Navigation.findNavController(this,R.id.fragment_main_navHost)) } override fun onBACkPressed() { if (drawerLayout.isDrawerOpen(GravityCompat.START)) { drawerLayout.closeDrawer(GravityCompat.START) } else { super.onBACkPressed() } }
你可以看到它与导航图相关联,我正在使用导航抽屉.当我浏览抽屉中的项目时,我想保留汉堡图标,只有当我点击片段或弹出窗口中的项目时才将其更改为上/后按钮,并确保系统的行为反映了什么用户期望基于显示的图标.那可能吗
1.绑定你的NavigationView
with NavigationUI
NavigationUI.setupWithNavController(nav_view,hostFragment.navController)
2.绑定ActionBar
With NavController
NavigationUI.setupActionBarWithNavController(this@NavActivity,hostFragment.navController)
3.绑定ActionBar
and DrawerLayout
With NavController
NavigationUI.setupActionBarWithNavController(this@NavActivity,hostFragment.navController,drawer_layout)
4.覆盖您活动中的onSupportNavigateUp()
override fun onSupportNavigateUp(): Boolean { return NavigationUI.navigateUp(drawer_layout,hostFragment.navController) || super.onSupportNavigateUp() }
样品:
class NavActivity : AppCompatActivity(),NavigationView.onNavigationItemSELEctedListener { lateinit var hostFragment: NavHostFragment override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceStatE) setContentView(R.layout.activity_nav) setSupportActionBar(toolbar) fab.setOnClickListener { view -> Snackbar.make(view,"replace with your own action",Snackbar.LENGTH_LONG) .setAction("Action",null).show() } val toggle = ActionBarDrawerToggle( this,drawer_layout,toolbar,R.String.navigation_drawer_open,R.String.navigation_drawer_closE) drawer_layout.addDrawerListener(togglE) toggle.syncState() nav_view.setNavigationItemSELEctedListener(this) hostFragment = supportFragmentManager.findFragmentById(R.id.my_nav_host_fragment) as NavHostFragment NavigationUI.setupWithNavController(nav_view,hostFragment.navController) NavigationUI.setupActionBarWithNavController(this@NavActivity,drawer_layout) } override fun onBACkPressed() { if (drawer_layout.isDrawerOpen(GravityCompat.START)) { drawer_layout.closeDrawer(GravityCompat.START) } else { super.onBACkPressed() } } override fun onSupportNavigateUp(): Boolean { return NavigationUI.navigateUp(drawer_layout,hostFragment.navController) || super.onSupportNavigateUp() } override fun onCreateOptionsMenu(menu: Menu): Boolean { // Inflate the menu; this adds items to the action bar if it is present. menuInflater.inflate(R.menu.nav,menu) return true } override fun onOptionsItemSELEcted(item: MenuItem): Boolean { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button,so long // as you specify a parent activity in AndroidManifest.xml. when (item.itemId) { R.id.action_setTings -> return true else -> return super.onOptionsItemSELEcted(item) } } override fun onNavigationItemSELEcted(item: MenuItem): Boolean { // Handle navigation view item clicks here. drawer_layout.closeDrawer(GravityCompat.START) return true } }
产量
家庭片段:
片段二:
片段树:
以上是大佬教程为你收集整理的android – 导航组件,控制何时显示汉堡包或后退图标全部内容,希望文章能够帮你解决android – 导航组件,控制何时显示汉堡包或后退图标所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。