Android 开发之深入浅出 NavigationUI(1),2024大厂Android开发面试总结+解答

更新导航图之后,我们可以开始将元素绑定起来,并且实现导航到 SelectionFragment。

选项菜单


应用的选项菜单现在尚未发挥作用。要启用它,需要在 onOptionsItemSelected() 函数中,为被选择的菜单项调用 onNavDestinationSelected() 函数,并传入 navController。只要目的页面的 id 和 MenuItem 的 id 相匹配,该函数会导航到绑定在 MenuItem 上的目的页面。

override fun onOptionsItemSelected(item: MenuItem): Boolean {

return item.onNavDestinationSelected(

findNavController(R.id.nav_host_fragment)

) || super.onOptionsItemSelected(item)

}

现在导航控制器可以 “支配” 菜单项了,我将 MenuItem 的 id 与之前所创建的目的页面的 id 进行了匹配。这样,导航组件就可以将 MenuItem 与目的页面进行关联。

xmlns:app=“http://schemas.android.com/apk/res-auto”

xmlns:tools=“http://schemas.android.com/tools”

tools:context=“com.android.samples.donuttracker.MainActivity”>

<item

android:id=“@+id/selectionFragment”

android:orderInCategory=“100”

android:title=“@string/action_settings”

app:showAsAction=“never” />

Toolbar


现在应用可以导航到 selectionFragment,但是标题仍然保持原样。当处于 selectionFragment 的时候,我们希望标题可以被更新并且显示返回按钮。

首先我需要添加一个 AppBarConfiguration 对象,NavigationUI 会使用该对象来管理应用左上角的导航按钮的行为。

appBarConfiguration = AppBarConfiguration(

  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值