首页
学习
活动
专区
工具
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

80140
  • Android BottomNavigationBar底部导航使用方法

    简介:Google推出BottomNavigationBar底部导航栏 1 、基本使用(add和replace方式) 2、扩展添加消息和图形 3、修改图片大小与文字间距 版本更新:2019-5...bottomNavigationBar = this.findViewById(R.id.bottomNavigationBar); showNumberAndShape(); initNavigation(); } /** * 初始底部导航栏...*/ private void initNavigation() { //导航栏Item个数<=3 用 MODE_FIXED 模式,否则用 MODE_SHIFTING 模式 bottomNavigationBar.setMode...(30, 30) //宽高值,px .setAnimationDuration(300) //隐藏和展示动画速度,单位毫秒,和setHideOnSelect一起使用 //.setGravity(Gravity.LEFT...5、若要使用replace显示方式,将onTabSelected监听处改为如下代码即可 1)、switch处 switch (position) { case 0: firstFragment =

    1.1K43

    Android使用开源组件PagerBottomTabStrip实现底部菜单和顶部导航功能

    PagerBottomTabStrip 是一个基本按谷歌Material Design规范完成安卓底部导航栏控件 官方设计规范:https://www.google.com/design/spec/components...activity,这个activity重新加载一下底部菜单 (2)今天介绍一个网上比较流行底部菜单PagerBottomTabStrip功能,主要是这个菜单样式比价好看,而且点击时有点击效果,感觉还是不错...2、底部导航菜单功能代码 1、首先需要引用包: compile 'me.majiajie:pager-bottom-tab-strip:2.2.5' 2、然后写一个主activity和底部点击进入两个...includetop.xml然后直接执行方法 <include layout="@layout/top"/ setTitle("首頁",false,null) registerBack() 4、总结 (1)好了,一个简单底部菜单导航栏就做好了...(2)在上里面的代码中我们使用了矢量图<Vector 功能,实现标准是美工提供.svg文件,通过studio直接转为xml文件图片,优势是可伸缩和完美放大,体积小,需要知道一下。

    1.5K31

    Android实现底部导航主界面

    在主流app中,应用主界面都是底部含有多个标签导航栏,点击可以切换到相应界面,如图: ? 接下来将描述下其实现过程。...1.首先是分析界面,底部导航栏我们可以用一个占满屏幕宽度、包裹着数个标签TextView、方向为横向horizontal线性布局LinearLayout。...viewpager懒加载和fragmenthide、show,这里我们讲解后者实现方式。...homeFragment= null; gameFragment= null; videoFragment= null; mineFragment= null; home.performClick(); 4.回到四个底部标签点击事件...); home.setSelected(false); view.setSelected(true); 分析这段代码,我们主要是用当前碎片mContent和上个碎片fragment做比较,这样用来判断底部导航栏是否点击进行了切换

    1.7K42

    ANDROID BottomNavigationBar底部导航实现示例

    第一种介绍就是使用开源库,因为使用开源库最简单,也更加符合我们审美标准,同时BottomNavigationBar还是符合当前Material Design标准。 效果展示 ? ? ? ?...个数<=3就会使用MODE_FIXED模式,否则使用MODE_SHIFTING模式。...:如果设置Mode为MODE_FIXED,将使用BACKGROUND_STYLE_STATIC 。...BACKGROUND_STYLE_STATIC:点击时候没有水波纹效果 BACKGROUND_STYLE_RIPPLE:点击时候有水波纹效果 2.初始化导航条条目 需要几个就添加几个,包含图片和图片下方代表文字以及设定被选中时产生效果颜色...mBottomNavigationBar.setTabSelectedListener(this); onTabSelected():当选中导航条目发生改变时 FragmentManager fm

    1.7K20

    Android底部导航动态替换方案

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

    2.4K20

    Android笔记:底部导航动态替换方案

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

    1.9K20

    深入浅出 NavigationUI | MAD Skills

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

    3K30

    android SectorMenuView底部导航扇形菜单实现代码

    这次分析一个扇形菜单展开自定义View, 也是我实习期间做一个印象比较深刻自定义View, 前后切换了很多种实现思路, 先看看效果展示 效果展示 ?...效果分析 点击圆形FloatActionBar, 自身旋转一定角度 菜单像波纹一样扩散开来 显示我们添加item 实现分析 使用adapter适配器去设置View, 用户可自定义性强, 不过每次使用需要去设置...初始化时调用setWillNotDraw(false)方法, 强行启动ViewGroup绘制 onMeasure中将宽高写死 绘制背景 锚点为View底部中心点 半径为屏幕宽度一半平方和开方...(注意这里不是屏幕一半) 添加itemView, 在onLayout中去确定其位置 添加动画效果 将相关接口暴露给外界 使用方式 BottomSectorMenuView.Converter(mFab...apply() 源码实现 /** * Email: frankchoochina@gmail.com * Created by FrankChoo on 2017/10/9. * Description: 底部扇形菜单

    2.7K20

    Android底部导航三种风格实现

    二、BottomNavigationView 这是 Google 给我们提供一个专门用于底部导航 View,你只需要在新建 Activity 时候选择 “Bottom Navigation Activity...三、RadioGroup + ViewPager 这是一种比较常见了,下面 4 个 tab 导航按钮,可以切换不同页面,这里页面使用了 ViewPager + Fragment 组合,实现了滑动页面效果...0 : this.mList.size(); } } } 这里唯一注意点就是两个监听事件,要实现底部导航按钮和页面的联动。...四、带页面跳转功能底部导航 很多 APP 底部导航栏中间有一个很大按钮,点击后通常是打开一个新页面,这里我们要实现就是这种底部导航。...代码地址: https://gitee.com/afei_/BottomTabbar 到此这篇关于Android底部导航三种风格实现文章就介绍到这了,更多相关Android底部导航栏内容请搜索ZaLou.Cn

    3.1K30

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

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

    2.3K10

    解决android 显示内容被底部导航栏遮挡问题

    描述: 由于产品需求,要求含有EditText界面全屏显示,最好解决方式是使用AndroidBug5497Workaround.assistActivity(this) 方式来解决,但是华为和魅族手机系统自带底部导航栏...解决方案:在values-21style.xml中添加android:windowDrawsSystemBarBackgrounds”并将值设置为false,方式如下 在style引用主题里面加入android...也可以自己忽略,直接新建values-21文件夹然后新建一个styles.xml文件,将主题里面的内容复制到styles.xml里面然后加上加入android:windowDrawsSystemBarBackgrounds.../p/android/issues/detail?...(r.bottom - r.top)+statusBarHeight; } return (r.bottom - r.top); } } 以上这篇解决android 显示内容被底部导航栏遮挡问题就是小编分享给大家全部内容了

    4.6K10

    超简单几行代码搞定Android底部导航栏功能

    超简单,几行代码搞定Android底部导航栏—–应项目需求以及小伙伴留言,新加了两个方法: 设置底部导航栏背景图片 添加底部导航栏选项卡切换监听事件 底部导航实现也不难,就是下边是几个Tab切换...网上有不少关于Android底部导航文章,不过好像都只是关于下边Tab切,没有实现Tab与fragment联动,用时候还要自己手写这部分代码,对我这个比较懒(据说,懒是程序员一种美德_#)得程序员来说...1、BottomTabBar整体背景 虽然一般这里都是用白色或者接近白色浅色调作为背景,但我们也不能给他固定死,要提供这样一个方法,让使用者可以把背景设置成任何颜色。...上边说到了,图片上边需要设置分割线,当然,这只是部分使用者需要设置,所以我们需要提供一个方法,用来设置是否显示分割线。...Android底部导航栏功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

    2.3K10

    Android虚拟导航栏遮挡底部输入框解决方法

    1.场景还原 最近忙着app适配,在这个过程问题中,各种机型奇葩问题都出来了,适配真尼玛痛苦!今天就oppo机型虚拟导航栏遮挡底部输入框问题作个记录。...2.解决方法 ① 在该Activity根layout配置如下属性: android:fitsSystemWindows="true" android:clipToPadding="false" 第一个属性...第二个属性: 控件绘制区域是否在padding里面,值为true时那么绘制区域就不包括padding区域,默认滚动是在padding(区域)下进行.然而如果你设置了此属性值为false,就能实现一些意想不到效果...-- 设置键盘弹出框 -- <activity android:name=".activity.FeedbackActivity" android:theme="@style/AppNoTitleTheme..." android:launchMode="singleTask" android:screenOrientation="portrait" / ok,完美解决弹起虚拟导航栏遮住底部输入框问题

    2.3K20

    Jetpack组件之Navigation

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

    3K20
    领券