首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用导航组件的NavigationUI更改目标的Android底部导航

NavigationUI是Android Jetpack库中的一个组件,用于帮助开发者更方便地管理和操作Android应用程序的导航功能。它提供了一种简单的方式来更改Android底部导航栏的目标。

使用NavigationUI的主要步骤如下:

  1. 配置导航图:首先,在res目录下的navigation文件夹中创建一个XML文件,定义应用程序的导航图。导航图包含了应用程序中的所有目标页面和它们之间的导航关系。
  2. 设置底部导航栏:在布局文件中,使用BottomNavigationView组件来显示底部导航栏。可以通过设置menu属性来指定底部导航栏的菜单项。
  3. 创建NavController:在Activity或Fragment中,使用Navigation.findNavController()方法来创建一个NavController对象。NavController是导航图的控制器,用于管理导航操作。
  4. 将NavController与底部导航栏关联:使用NavigationUI.setupWithNavController()方法将NavController与底部导航栏关联起来。这样,当用户点击底部导航栏的菜单项时,NavController会自动处理导航操作。
  5. 处理导航操作:在Activity或Fragment中,可以使用NavController的navigate()方法来执行导航操作。可以通过传递目标页面的ID或目标页面的动作来指定导航目标。

NavigationUI的优势在于简化了导航功能的实现过程,提供了一种一致的方式来处理导航操作。它还提供了一些额外的功能,如自动更新底部导航栏的选中状态、处理返回按钮的行为等。

NavigationUI适用于需要在Android应用程序中实现底部导航栏的场景。例如,一个多页面的应用程序,每个页面都可以通过底部导航栏进行切换。它可以提供更好的用户体验和导航效果。

腾讯云相关产品中,与NavigationUI相关的产品是腾讯移动基础能力(Mobile Foundation)。腾讯移动基础能力提供了一系列移动应用开发的基础服务,包括用户认证、消息推送、数据存储等功能,可以帮助开发者更好地构建和管理移动应用程序。

腾讯云移动基础能力产品介绍链接地址:https://cloud.tencent.com/product/tcap

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Jetpack】Navigation 导航组件 ⑤ ( NavigationUI 类使用 )

是 Google 官方提供的 用于管理 Navigation 导航的组件 , 属于 Android 系统的 Jetpack 工具包 ; 借助 NavigationUI 可以很方便的 创建和组织应用程序的导航界面...; 如 : 构建复杂的导航结构,垂直或水平的主菜单 , 侧边栏 , 抽屉导航栏等 ; 开发者 可以 通过 NavigationUI 轻松地管理页面的转换和导航 ; NavigationUI 提供了一些静态方法来处理...顶部应用栏 / 抽屉式导航栏 / 底部导航栏中 的界面导航 ; 本篇博客中介绍一种使用场景 : 使用 AppBar 中的菜单选项控制 Navigation 界面跳转 ; 在 Activity 中 ,...使用 Navigation 组件 切换 Fragment 界面时 , 除了进行界面切换之外 , 不同的界面对应的顶部 标题栏 AppBar 需要进行相应的改变 ; Navigation 组件中 , 提供了..., navController) 代码的含义是 : 优先使用 NavigationUI 进行导航 , 如果跳转失败 , 再使用传统的方式执行默认动作 , 代码为 super.onOptionsItemSelected

96340
  • Android笔记:底部导航栏的动态替换方案

    使用RadioGroup+RadioButton去实现底部的Tab, 自由度比极高,如果想实现搞复杂度的话可以重写 RadioButton。...(1)使用menu设置资源 (2)有默认的动画效果 2.本篇介绍的是日常见到的京东,淘宝类似的根据后台下发实现动态替换底部导航资源图片的方法(基于TabLayout实现) 既然提到了动态替换肯定意味着要下载资源...如果启动 IntentService 多次,那么每一个耗时操作会以工作队列的方式在 IntentService 的 onHandleIntent 回调方法中执行,依次去执行,使用串行的方式,执行完自动结束...重要的就是资源的两种状态切换(选中 or 不选中),通常我们都是使用drawable来写的 android="http://schemas.android.com/apk/res/android"> android

    1.9K20

    Android学习(简单使用Bottom Navigation Activity来实现底部导航栏)

    好系统自带的模板往往可以起到事半功倍的效果。下面我们就来看看如何使用Bottom Navigation Activity来完成简单的底部导航栏功能。...自定义底部导航 现在的底部导航只有三个选项,而且图标文字都是固定我。那么我们想增加导航或者改变图标文字应该怎么办呢?...那么如何更改点击后的页面呢? 自定义切换页面(Fragment) 这里我们使用framgment来切换页面。...这三个文件夹是对应的底部三个导航栏。...定制导航栏 对于导航栏的定制和之前大体相同,如果我们要新添一个自己的导航页可以这样操作:menu文件夹下的bottom_nav_menu.xml对应底部的导航图标,添加自己的item。

    2.5K10

    深入浅出 NavigationUI | MAD Skills

    这是第二个关于导航 (Navigation) 的 MAD Skills 系列,如果您想回顾过去发布的内容,请参考下面链接查看: 导航组件概览 导航到对话框 在应用中导航时使用 SafeArgs 使用深层链接导航...在本文中,我们将为大家讲解另外一个用例,即类似操作栏 (Action Bar)、底部标签栏或者抽屉型导航栏之类的 UI 组件如何在应用中实现导航功能。...我需要在应用中增加一些页面,所以有必要使用抽屉式导航栏或者底部标签栏来辅助用户导航。但是我们该如何使用这些 UI 组件来集成导航功能呢?通过点击监听器手动触发导航动作吗? 不需要!无需任何监听器。...首先我需要添加一个 AppBarConfiguration 对象,NavigationUI 会使用该对象来管理应用左上角的导航按钮的行为。...Donut Tracker 应用并不需要底部标签栏或者抽屉式导航栏,但是添加了新的功能和目的页面后,NavigationUI 可以很大程度上帮助我们处理应用中的导航功能。

    3K30

    Jetpack组件之Navigation

    优点 可视化的页面导航图,可以使用 Android Studio 的 Navigation Editor 来查看和编辑导航图。 通过destination和action完成页面间的导航。...页面间类型安全的参数传递。 支持深层链接DeepLink。 通过NavigationUI类,对菜单、底部导航、抽屉菜单导航进行统一的管理。 主要元素 Navigation Graph。...Safe Args插件传递参数 使用Safe Args Gradle插件,该插件可以生成简单的对象和构造器类,支持在destination之间进行类型安全的导航和参数传递。...使用Toolbar时,Navigation组件会自动处理导航按钮的点击事件,因此无需覆盖onSupportNavigateUp()。...可以使用查询参数占位符代替路径参数,也可以将查询参数占位符与路径参数结合使用。 使用默认值或可为 null 的值所定义的变量的查询参数占位符无需匹配。

    3K20

    Navigation的用法

    5.通过NavigationUI类,对菜单,底部导航,抽屉菜单导航进行统一的管理     6.支持深层链接DeepLink 二.Navigation的主要元素   在正式学习Navigation...三.如何使用Navigation   使用Navigation组件前,先要添加以下依赖:   implementation "androidx.navigation:navigation-fragment...5.使用NavController完成导航       经过以上的步骤后,我们还需要通过NavController对象,在代码中完成具体的页面跳转工作,我们需要在MainFragment的布局文件中添加一个...五.NavigationUI的使用方法   在页面的切换过程中,通常还伴随着App bar中menu菜单的变化,对于不同的页面,App bar中的menu菜单很可能是不一样的。...既然Navigation和App bar都需要处理页面切换事件,那么为了方便管理,Jetpack引入了NavigationUI组件,使App bar中的按钮和菜单能够与导航图中的页面关联起来。

    30420

    导航: 多返回栈 | MAD Skills

    欢迎来到第二个关于导航的 MAD Skill 系列 的另一篇文章!本文我们将介绍一个呼声很高的功能,即导航 (Navigation) 对多返回栈的支持。...从 2.4.0-alpha01 版本开始,NavigationUI 辅助类不需要改变任何代码即可支持多返回栈。...为此我删除了 NavigationExtensions 类,在所有使用它的地方都替换为 NavigationUI 中标准的 setupWithNavController() 方法以将我们的 BottomNavigationView...注意这个行为是默认启用的。 最后,让我们运行测试来验证是否一切正常。该应用已经拥有一些验证多返回栈行为的测试。我运行 BottomNavigationTest 并观察每个底部导航行为测试的运行。...如果您想了解更多有关底层 API 以及需要修改哪些内容以支持多返回栈的信息,请参阅我们之前的推文《全新的 Fragment: 使用新的状态管理器》。 感谢您关注本导航系列!

    82320

    【Jetpack】Navigation 导航组件 ② ( Navigation 核心要点说明 | 创建 Navigation Graph | 创建 NavHostFragment | 完整代码示例 )

    1、Navigation 各子部件的创建顺序 Navigation 导航组件各子部件的创建顺序要点如下 : 首先 , 创建被导航的 Fragment 页面代码 和 对应的布局文件 ; 然后 , 基于创建的...Graph -> NavHostFragment -> NavController , 后面的组件依赖于前面的组件 , 否则无法实现 Navigation 导航 ; 2、导入 Navigation 依赖...使用 Navigation 组件 , 必须导入 Navigation 依赖 , 不同的开发语言导入不同的依赖 : 使用 Java 语言 开发 Navigation 导航 , 导入如下依赖 : dependencies...; fragmentContainerView 组件的 管理 操作通过 NavController 完成 ; // fragmentContainerView 组件的 管理 操作通过...组件的 管理 操作通过 NavController 完成 ; // fragmentContainerView 组件的 管理 操作通过 NavController 完成

    63520

    Android开发(51) 使用 CollapsingToolbarLayout ,可折叠的顶部导航栏

    概述 在很app上都见过 可折叠的顶部导航栏效果。google support v7 提供了 CollapsingToolbarLayout 可以实现这个效果。效果图如下: ? ? ?...实现步骤 1.写一个 CollapsingToolbarLayout,它有两个 子视图,一个就是上图显示的图片(降落伞哪个)的Imageview,另一个就是 顶部导航栏toobar 2.为 CollapsingToolbarLayout...指定属性 app:layout_scrollFlags="scroll|exitUntilCollapsed" 3.为ImageView 指定属性,声明 它是可以折叠的 app:layout_collapseMode...="parallax" 4.为 toobar指定属性,声明它是固定的 app:layout_collapseMode="pin" 5.为 CollapsingToolbarLayout 所在的父布局(view...> android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/

    1.8K00

    学习|Android JepPack组件---导航Navigation

    ——《微卡智享》 本文长度为2176字,预计阅读6分钟 写在最前 本来做这个是因为公司的内部需要一个扫描的小程序,开始想就是全部重新用JetPack组件做,不过想到了后台产品中有一个可以应用到现在的使用场景...,于是花了一天时间修改了一下那个程序就可以直接用了,所以这篇文章就做为学习的Android的组件了。...微卡智享 我们新建一个Android的项目,程序中只存在两个界面,进入后显示未上传的单据列表,然后一个按钮可以新建扫描单进行扫描界面。...类出来了,这里创建好了后面会讲到ViewModel的使用。...因为我们加入的时候orderfragment就是启动项了,可以看到后面有个Start,如果我们想更改启动项,就把鼠标选到对应的Fragment后,右键选如下 ?

    90220

    使用导航组件: 条件导航 | MAD Skills

    这是第二个关于导航 (Navigation) 的 MAD Skills 系列,本文是导航组件系列的第二篇文章,如果您想回顾过去发布的内容,请参考下面链接查看: 导航组件概览 导航到对话框 在应用中导航时使用...SafeArgs 使用深层链接导航 打造您的首个 app bundle 深入浅出 NavigationUI 如果您更倾向于观看视频而非阅读文章,请查看 这个视频 内容。...在 上一篇文章 中,我使用 NavigationUI 实现了应用的底部导航,并增加了 SelectionFragment 来启用或禁用咖啡记录功能。...我将使用 Datastore API 来保存用户的选择,并据此决定是否在底部导航中展示 coffeeList 目的地。...在应用中使用条件导航的准备工作 这是自上一篇文章以来我所做 修改 的快速回顾: 首先,我添加了 UserPreferencesRepository,它使用 DataStore API 来保存用户的选择;

    1.6K30

    Android 多返回栈技术详解

    系统返回按钮的乐趣 无论您在使用 Android 全新的 手势导航 还是传统的导航栏,用户的 "返回" 操作是 Android 用户体验中关键的一环,把握好返回功能的设计可以使应用更加贴近整个生态系统。...在 Navigation 中启用多返回栈 如果您正在使用 NavigationUI,它是用于连接您的 NavController 到 Material 视图组件的一系列专用助手,您会发现对于菜单项、BottomNavigationView...NavigationUI API 是基于 Navigation 的其他公共 API 构建的,确保您可以准确地为自定义组件构建您自己的版本。保证您可以构建所需的自定义组件。...比如,在 Compose 中,任何全局的导航模式 (无论是底部导航栏、导航边栏、抽屉式导航栏或者任何您能想到的形式) 都可以使用我们在与 底部导航栏集成 所介绍的相同的技术,并且结合 saveState...也就意味着 当升级到 Navigation 2.4.0-alpha01 或者更高版本后,任何使用 NavigationUI API 的应用无需修改代码即可实现多返回栈。

    96810

    Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)

    如果你还没有看过前面一篇文章的话,建议先去阅读Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)。...添加导航Tabs Tabs的应用可以算是非常广泛了,它可以使得用户非常轻松地在你的应用程序中切换不同的视图。...而Android官方更加推荐使用ActionBar中提供的Tabs功能,因为它更加的智能,可以自动适配各种屏幕的大小。...使用主题 Android中有两个最基本的Activity主题可以用于指定ActionBar的颜色,分别是: Theme.Holo,这是一个深色系的主题。...比如: android:theme="@android:style/Theme.Holo.Light" ... /> 如果你只想让ActionBar使用深色系的主题,而Activity

    1.6K80

    Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)

    Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作、界面导航等功能。...标签指定了MainActivity的父Activity是LaunchActivity,在Android 4.1版本之后,也可以直接使用android:parentActivityName这个属性来进行指定...那么此时我们如何查看隐藏在overflow中的Action按钮呢?其实非常简单,按一下Menu键,隐藏的内容就会从底部出来了,如下图所示: ?...让Overflow中的选项显示图标 如果你点击一下overflow按钮去查看隐藏的Action按钮,你会发现这部分Action按钮都是只显示文字不显示图标的,如下图所示: ?...完全解析,使用官方推荐的最佳导航栏(下)。

    3.4K101

    在功能模块中使用导航 | MAD Skills

    这是关于导航 (Navigation) 的第二个 MAD Skills 系列,本文是导航组件系列的第四篇文章,如果您想回顾过去发布的内容,请通过下面链接查看: 导航组件概览 导航到对话框 在应用中导航时使用...SafeArgs 使用深层链接导航 打造您的首个 app bundle 深入浅出 NavigationUI 使用导航组件: 条件导航 导航: 嵌套导航图和 如果您更倾向于观看视频而非阅读文章,请 点击这里...id 属性,原因在于,如果导航图是使用 include 标签引入的,那么 Dynamic Navigator 库会忽略根元素的 id 属性。...为了提供更好的用户体验,首先我使用导航添加了 NavigationUI 以集成 UI 组件。然后,我实现了一次性流程和条件导航。...之后,我使用了嵌套图和 include 标签来组织导航图并将应用模块化以节省用户的网络和存储空间。至此,我们已经完成了该应用,是时候去享用一杯美味的咖啡和甜甜圈了!

    55610

    React Native顶|底部导航使用小技巧

    导航一直是App开发中比较重要的一个组件,ReactNative提供了两种导航组件供我们使用,分别是:NavigatorIOS和Navigator,但是前者只能用于iOS平台,后者在ReactNative0.44...好在有人提供了更好的导航组件,就是我们今天要讲的react-navigation,并且ReactNative官方更推荐我们使用此组件。 本篇文章只讲解基础用法,如果你想了解更多,请戳这里->戳我。  ...简介 react-navigation主要包括导航,底部tab,顶部tab,侧滑等,分别为: 导航 -> StackNavigator 底部或者顶部tab -> TabNavigator 侧滑 -> DrawerNavigator...的标题,也能配置navigation的标题 TabNavigatorConfig tabBarComponent- 用作标签栏的组件,例如 (这是iOS上的默认设置), (这是Android上的默认设置...- 标签的样式对象 indicatorStyle - 标签指示器的样式对象(选项卡底部的行) labelStyle - 标签标签的样式对象 iconStyle - 标签图标的样式对象 style - 标签栏的样式对象

    7.8K60
    领券