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

如何在没有ActionBar的情况下在AndroidX中设置BottomNavigationView

在AndroidX中,如果没有ActionBar,可以通过以下步骤来设置BottomNavigationView:

  1. 首先,在你的布局文件中,添加一个FrameLayout作为容器,并将其放在你的主布局中底部的位置。
代码语言:txt
复制
<FrameLayout
    android:id="@+id/bottom_nav_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom" />
  1. 在你的活动(Activity)或片段(Fragment)中,获取对这个FrameLayout的引用,并创建一个BottomNavigationView实例。
代码语言:txt
复制
FrameLayout bottomNavContainer = findViewById(R.id.bottom_nav_container);
BottomNavigationView bottomNavigationView = new BottomNavigationView(this);
  1. 设置BottomNavigationView的菜单项和选中项监听器。
代码语言:txt
复制
bottomNavigationView.inflateMenu(R.menu.bottom_navigation_menu);
bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        // 处理菜单项选中事件
        return true;
    }
});
  1. 将BottomNavigationView添加到FrameLayout容器中。
代码语言:txt
复制
bottomNavContainer.addView(bottomNavigationView);

这样,你就成功地在没有ActionBar的情况下在AndroidX中设置了BottomNavigationView。

BottomNavigationView是一个用于显示底部导航菜单的控件,它可以在应用程序的不同页面之间切换。它在Android界面设计中被广泛应用,例如底部标签导航栏。通过点击不同的菜单项,用户可以切换到不同的页面或执行相关操作。

推荐的腾讯云相关产品是「移动短信」(SMS)。移动短信是一项基于云计算和移动通信技术的短信服务,可以帮助开发者快速搭建并发送短信验证码、推广短信等,提供高可靠、高性能、低成本的短信发送服务。你可以在腾讯云移动短信产品介绍了解更多详情。

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

相关·内容

【错误记录】Android 编译报错 ( Attempt to invoke virtual method ‘void xx.ActionBar.setTitle()‘ on a null obj )

的 void setTitle() 方法 , 但是 androidx.appcompat.app.ActionBar 对象是空的 , 直接报空指针异常 ; 进入 setupActionBarWithNavController...和 ActionBar 关联起来 ; 此处没有获取到 ActionBar 对象 , ActionBar 是页面顶部的 标题栏 ; 在 Android Studio 中生成的代码 , 一般都是标准代码..., 不会出错 , 这里出现问题大概率是自己在项目中的其它设置导致的 ; 检查 AndroidManifest.xml 中的 Theme 主题设置 , 在 application 标签中 , 设置了 Theme.AppCompat.Light.NoActionBar...Theme.AppCompat.Light.NoActionBar 主题 , 肯定是没有 ActionBar 的 , 因此这里尝试调用 androidx.appcompat.app.ActionBar...在上述代码中 , 调用了 NavigationUI.setupActionBarWithNavController 函数 , 关联了 Navigation 与 ActionBar , 这里可以调用其他的关联方法

68310

Android BottomNavigationView的最新用法

Android 的技术更新的太快了,比如:kotlin、jetpack 等等,要学习的东西实在是太多了,今天我就来介绍一下 BottomNavigationView 的最新用法以及注意事项。...中 labelVisibilityMode 属性的用法,设置 app:labelVisibilityMode="labeled" 可以将图标和文字全部展示出来。...中 labelVisibilityMode 属性的用法,设置 app:labelVisibilityMode=“labeled” 可以将图标和文字全部展示出来。...注意 bottom_nav_menu.xml 中 item 的 id 名称一定要和 nav_graph.xml 中 fragment 的 id 名称保持一致,否则无法切换 tab。...注意 nav_graph.xml 中 fragment 的 id 名称一定要和 bottom_nav_menu.xml 中 item 的 id 名称保持一致,否则无法切换 tab。

1.1K10
  • 深入浅出 NavigationUI | MAD Skills

    在本文中,我们将为大家讲解另外一个用例,即类似操作栏 (Action Bar)、底部标签栏或者抽屉型导航栏之类的 UI 组件如何在应用中实现导航功能。...比如,当您在最顶层的目的页面时,就不会显示回退按钮,因为没有更高层级的页面。 默认情况下,您应用的最初页面是唯一的最顶层目的页面,但是您也可以定义多个最顶层目的页面。...BottomNavigationView,并且将 bottom_nav_menu 设置为 BottomNavigationView的 menu 属性。...setupWithNavController(navController) } 请注意我并没有从导航图中调用任何导航操作。实际上导航图中甚至没有前往 coffeeList Fragment 的路径。...和之前对 ActionBar 所做的操作一样,BottomNavigationView 通过匹配 MenuItem 的 id 和导航目的页面的 id 来自动响应导航操作。

    3K30

    1. Jetpack源码解析---看完你就知道Navigation是什么了?

    、ViewPager等,这里面我们需要配置一个Fragment,这个Fragment的name是androidx.navigation.fragment.NavHostFragment,这是一个添加到布局中的特殊部件...) 2.3.2 NavOptions切换动画 当然fragment之间的切换是支持动画的,NavOptions是一个动画管理类,我们可以设置进入和回退的动画,设置的方式有两种: 直接在标签中设置动画 中设置的那一个。...紧接着我们通过setGraph进入到了NavController类中,通过graph里面设置的初始fragment看到了切换栈内切换Fragment的代码。...到这里基本的代码实现已经了解的差不多了,然后我回到了入口,通过初始化NavController,调用NavigationUI中的方法绑定NavigationView、ToolBar、BottomNavigationView

    2.6K30

    Jetpack组件之Navigation

    在Navigation Graph文件中可以通过android:label来设置AppBar的标题。...如果该标志已设置,任务返回堆栈就会被清除,并被替换为相应的深层链接页面。与显式深层链接一样。 如果该标记未设置,您仍会位于触发隐式深层链接时所在的上一个应用的任务堆栈中。...在这种情况下,如果按下返回按钮,您会返回到上一个应用;如果按下向上按钮,就会在导航图中的父级目的地上启动应用的任务。...arg={arg}"/> 注意: 没有架构的 URI 会被假定为 http 或 https。 形式为 {params} 的路径参数占位符与一个或多个字符相匹配。...FragmentNavigator并设置给NavController,需要注意的是我们要通过自定义的FragmentNavigator手动来创建Destination(目的地),布局中app:navGraph

    3K20

    自定义View:手撸一个带FAB凹槽的底部导航栏

    如果你的FAB移动了,导航栏怎么跟着变化? 同事:没得怎么变化,反正需求没有说要加动画 我:那要是PM要你的导航栏凹陷深度依赖于FAB的位置大小,你要怎么处理? 同事:......那阁下又当如何应对?...的特性,设置底部导航栏作为FAB的参照物方便对齐停靠; FAB位移动画以及导航栏凹陷动态变化:自定义导航栏的形状,根据FAB的凹陷深度来动态绘制导航栏。...,接下来就是想办法把这个按钮塞进去,并且设置按钮的中心点与导航栏的顶部居中对齐。...对于这样的效果我决定老老实实选择自定义BottomNavigationView,为所欲为哈哈哈!...的值,由此一来可以达到凹槽收缩的效果,按钮向下运动时同理: 另外还需要考虑按钮完全位于导航栏上方时的情况,这种情况下直接使用直线来代替原来的曲线部分。

    26110

    Android Notes|BottomNavigationView 爱上 Lottie

    -- ... --> 相对比较简单的方式,便是提供一套默认的 Icon,然后根据选中进行 tint 着色,当然,也可以通过 selector 选择器去设置对应选中以及未选中的 Icon,...-- 设置导航栏高度 --> 84dp 对于设置角标,也就是右上角小圆点或者对应的数字,可通过获取...mNavigationAnimationNightList } else { mNavigationAnimationList } } 判断是否深色模式我单独提取了一个工具类,Lottie-android 中也有对深色模式的兼容方法...小教训(心得): 真的是有时候不得不换种思维方式,首要的便是实现,随后才是优化。基本雏形都没有,何谈优化?...身为猿猿,面对实际开发中遇到的问题,一定要采取多方案,首要保证内容、结果的输出,其次才是合理的循循渐进的优化。 2、BottomNavigationView Item 长按提示怎么搞掉?

    3.7K21

    1. Jetpack源码解析---看完你就知道Navigation是什么了?

    、ViewPager等,这里面我们需要配置一个Fragment,这个Fragment的name是androidx.navigation.fragment.NavHostFragment,这是一个添加到布局中的特殊部件...) 2.3.2 NavOptions切换动画 当然fragment之间的切换是支持动画的,NavOptions是一个动画管理类,我们可以设置进入和回退的动画,设置的方式有两种: 直接在标签中设置动画 中设置的那一个。...紧接着我们通过setGraph进入到了NavController类中,通过graph里面设置的初始fragment看到了切换栈内切换Fragment的代码。...到这里基本的代码实现已经了解的差不多了,然后我回到了入口,通过初始化NavController,调用NavigationUI中的方法绑定NavigationView、ToolBar、BottomNavigationView

    2.2K20

    1. Android_Jetpack组件---Naviagtion源码解析

    、ViewPager等,这里面我们需要配置一个Fragment,这个Fragment的name是androidx.navigation.fragment.NavHostFragment,这是一个添加到布局中的特殊部件...) 2.3.2 NavOptions切换动画 当然fragment之间的切换是支持动画的,NavOptions是一个动画管理类,我们可以设置进入和回退的动画,设置的方式有两种: 直接在标签中设置动画 中设置的那一个。...紧接着我们通过setGraph进入到了NavController类中,通过graph里面设置的初始fragment看到了切换栈内切换Fragment的代码。...到这里基本的代码实现已经了解的差不多了,然后我回到了入口,通过初始化NavController,调用NavigationUI中的方法绑定NavigationView、ToolBar、BottomNavigationView

    2.2K10

    Android Navigation + Fragment 制作APP主页面导航(步骤 + 源码)

    从这个图来看,项目本身没有任何问题,为了保险起见,建议先运行一下。 1. 添加依赖 Navigation 是JetPack中的组件,感兴趣可以去查看Google JetPack官方文档。...它就不报错了,这句话的意思是未使用导航的许可。因为我现在还没有使用这个nav_graph.xml所以要加上这一句话告诉AS,让它放心。等我们真正去使用时,是没有影响的,去不去掉都行。 3....明明这个NavController还什么都没有做的,为什么就可以显示了呢?实际上它已经在工作了,只是你没有注意而已。...底部导航栏控制Fragment切换 在上面已经添加了底部导航栏,但是这个导航栏还没有和NavHost绑定起来,所以自然就无法在切换底部导航的同时,改变NavHost中的Fragment。...源码地址:AppHomeNavigation ---- 总结   其实我这里没有做通过滑动Fragment来切换BottomNavigationView。

    10.2K42

    工具栏,底部导航栏,可扩展列表视图

    1.工具栏 这个概念,所接触的很多开发软件或工具,都会碰到。在手机开发的时候,可以进行导航、显示相应的标题等,使开发者不至于在应用程序中迷路。...5.0使用Actionbar来实现,很多公司都会对该类进行定制,使用起来更加灵活。5.0之后使用Toolbar来取代之前的Actionbar,这个更加强大。..."#9f9f9f"> 2.设计菜单xml文件 步骤: 在res上右击,选择“new/andorid Resource Directory”,在弹出的对话框中...2.1 BottomNavigationView类 用到了Fragment的知识,每个item都有一个icon和一个title组成,单击控制状态即可。...通话(电话) 通信录 设置 3.可扩展列表视图 一般用于数据的展开和折叠这种场景,即可以单独展开的列表视图。 ExpandableListView,是ListView的子类。

    10210

    再不迁移到Material Design Components 就out啦

    Android Studio中的 重构 > 迁移到 AndroidX 工具会将您的 Design Support Library 依赖重构成 MDC。...attr/borderlessButtonStyle” ... /> 之所以出现这种情况是因为,在填充布局的时候,会自动将我们布局中的普通控件替换成 MDC 控件。...下面这几种情况应该考虑 在布局中写的控件如果有对应的 MDC 控件的话,直接使用 MDC 控件 任何的风格,默认风格和默认风格属性应该改变成 MDC 版本 在编程中或者自定义类的父级类使用的任何控件都应该为...中已适当命名的现有属性(例如colorPrimary和colorError) 新的属性由MDC介绍(如colorSurface,colorOnPrimary等) ?...MDC小部件使用这些属性来设置其背景样式。要了解哪些窗口小部件适用于哪些形状类别,需要检查源代码中的默认窗口小部件样式。 控件背景 实现此功能的类为 MaterialShapeDrawable.

    3.2K30

    安卓Navigation系列——进阶篇

    相关依赖 implementation 'androidx.navigation:navigation-fragment-ktx:2.3.1' implementation 'androidx.navigation...(这里为MainActivity的activity_main)中添加BottomNavigationView控件, BottomNavigationView时 app:menu属性指定的menu资源文件中,item标签的id和nav_graph中fragment标签的id保持一致的原因了吧,我们继续跟踪, public...那么我们是不能在布局文件中通过app:navGraph属性指定自定义的导航资源文件了,只能在布局文件中去掉app:navGraph这个属性,然后在添加FixFragmentNavigator的同时,通过代码将导航资源文件设置进去...总结 本篇在上篇的基础上,结合BottomNavigationView实现了第一个底部导航切换的实例,然后介绍了这种方式引发的坑,进而通过源码分析了发生这种现象的原因,并给出了解决的思路。

    3.2K30

    写一个MVVM快速开发框架:谈一谈“单Activity+多Fragment”模式

    管理Fragment栈 我们可以使用navigation管理fragment,fragment之间的跳转、栈管理都轻而易举,navigation还可以设置切换动画、页面间的数据传递。...Navigation组件 Navigation是Jetpack组件之一,很早之前iOS就是采用的这种跳转方式,当时就在想Android为啥没有,没多久Navigation就面世了。...Navigation可以理解为以一个管理fragment的容器,在容器中各个fragment可以实现任意跳转, 基础使用: 我们需要在布局中创建Fragment容器: androidx.fragment.app.FragmentContainerView...使用的menu中的id与navGraph中设置成一样的啊哈哈哈哈 基本上ARouter+Navigation可以满足大部分的页面跳转需求,但还是有一些难点,就是不同moduel之间的navGraph怎么相互控制...,暂时没有想到太好的解决办法(可以通过之前提到的想外提供接口服务实现),毕竟Navigation就没打算为组件化准备。

    1.8K40

    JetPack--Navigation

    进行展示的 3.NavController:用于在代码中完成Navigation Graph中具体的页面切换工作 当想要切换Fragment时,使用NavController对象,指定跳转Navigation...> Activity代码中,获取NavController对象,并绑定ActionBar package com.aruba.navigation; import androidx.appcompat.app.AppCompatActivity...NavController绑定 NavigationUI.setupActionBarWithNavController(this, navController); } } 在fragment中设置一个点击事件...); } }); } } 最后在Activity中添加ActionBar返回键支持: @Override public boolean onSupportNavigateUp...,跳转到设置后,AppBar右上角的选项还在,那么我们需要在设置界面时,去除选项 在SettingFragment中,重写onCreateOptionsMenu方法,调用menu.clear(),并在onCreateView

    60410

    学习|Android检测并自动下载安装包(Kotlin)

    下载完成后显示点击安装按钮进行安装,再加入一个调用TTS配置按钮进行语音设置 代码实现 DownloadHelper类 这个类是从网上找的,通过AsyncTask的方式实现安装包的下载,加入了一个onDownloadInferface...的接口实现,网上的这个类是JAVA写的,这里我自己用Kotlin重新写了一篇(其实复制过来可以自己转换的),但是这样对自己学习Kotlin没有什么太大帮助,直接贴出代码,其中外部调用时在Java中的静态方法直接前面加上...import android.widget.Button import android.widget.ProgressBar import android.widget.TextView import androidx.appcompat.app.ActionBar...,在Android的SDK23后访问下载路径有变化了,当我们下载完成提示点击安装时要注意下面的情况 ?...对应的AndroidManifest.xml中也要加入 <provider android:name="androidx.core.content.FileProvider

    1.4K10

    XPage页面框架使用详解

    支持Fragment之间、activity和fragment之间的数据交互。 兼容kotlin和androidx。...设计思路 刚开始的时候真的很难,没有什么好的思路,最初只是简单封装了一个Activity,通过传入一些key值从而获取并加载对应的fragment,类似ARouter中Fragment发现那种。...就在XPage正式投入使用的过程中,我发现还是存在不少问题的: 1.对外API不够灵活,使用起来不够方便; 2.每个Fragment仍需要手动注册,很麻烦; 对于API不够灵活的问题,我在之后的版本中陆续通过构造者模式设计以及...--标题栏的背景图片,优先使用背景图片,没有背景图片才使用背景颜色,可选--> actionbar_background">@null...答:首先需要明确的是,AppPageConfig是需要编译之后才会出现的,如果你没有编译的话,是肯定没有的。

    1.1K30
    领券