如何使用NavigationUI更新UI组件

本文介绍了如何利用Android的NavigationUI类更新UI组件,包括监听导航事件、设置顶部应用栏、创建工具栏、配置AppBarConfiguration以及添加导航抽屉。NavigationUI提供方法使得在导航目的地变化时自动更新顶部应用栏、处理导航按钮行为,并简化了与菜单项和抽屉的绑定过程。
摘要由CSDN通过智能技术生成

导航架构组件包括一个NavigationUI 类。此类包含使用顶部应用栏,导航抽屉和底部导航管理导航的静态方法。

一、听取导航事件

与the进行交互NavController 是在目的地之间导航的主要方法。该NavController 负责更换的内容NavHost 与新的目的地。在许多情况下,UI元素 - 例如顶级应用栏或其他持久性导航控件在BottomNavigationBar外部也是如此 - NavHost需要在目标之间导航时进行更新。

NavController提供了一个OnDestinationChangedListener当被称为接口NavController的当前目标 或它的参数改变。可以通过该addOnDestinationChangedListener() 方法注册新的侦听器 ,如下面的示例所示。请注意,在调用时 addOnDestinationChangedListener(),如果当前目标存在,则会立即将其发送给您的侦听器。

navController.addOnNavigatedListener(new NavController.OnNavigatedListener() {
 @Override
 public void onNavigated(@NonNull NavController navController,
 @NonNull NavDestination destination,
 @Nullable Bundle arguments) {
 textView.setText(destination.getLabel());
 }
});

NavigationUI用于OnDestinationChangedListener使这些常见的UI组件具有导航感知功能。但请注意,您也可以单独使用 OnDestinationChangedListener它来使任何自定义UI或业务逻辑了解导航事件。

二、热门应用栏

顶部应用栏在应用顶部提供了一致的位置,用于显示当前屏幕的信息和操作。

NavigationUI包含在用户浏览应用时自动更新顶部应用栏中内容的方法。例如,NavigationUI使用导航图中的目标标签可以使顶部应用栏的标题保持最新。

使用NavigationUI下面讨论的顶级应用栏方法时,可以使用{argName}标签中的格式从提供给目标的参数中自动填充附加到目标的标签。

NavigationUI 提供以下顶级应用栏类型的支持:

1.Toolbar
2.CollapsingToolbarLayout
3.ActionBar
AppBarConfiguration

三、AppBarConfiguration

NavigationUI使用AppBarConfiguration 对象来管理应用程序显示区域左上角的“导航”按钮的行为。默认情况下,当用户位于导航图的顶级目标位置时,导航按钮将隐藏,并在任何其他目标位置显示为“向上”按钮。

要将导航图的起始目的地用作唯一的顶级目的地,您可以创建一个AppBarConfiguration对象并传入相应的导航图,如下所示:

val appBarConfiguration = AppBarConfiguration(navController.graph)) 

如果要自定义哪些目标被视为顶级目标,则可以将一组目标ID传递给构造函数,如下所示:

val appBarConfigurat
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值