首页
学习
活动
专区
工具
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 , 这里可以调用其他关联方法

46210

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。

97810

深入浅出 NavigationUI | MAD Skills

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

3K30

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

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

14610

Jetpack组件之Navigation

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

3K20

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

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

2.5K30

Android Notes|BottomNavigationView 爱上 Lottie

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

3.7K21

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

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

2.1K10

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

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

2.2K20

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

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

9.5K42

再不迁移到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...(这里为MainActivityactivity_main)添加BottomNavigationView控件, <?...定义BottomNavigationView时 app:menu属性指定menu资源文件,item标签id和nav_graphfragment标签id保持一致原因了吧,我们继续跟踪, public...那么我们是不能在布局文件通过app:navGraph属性指定自定义导航资源文件了,只能在布局文件中去掉app:navGraph这个属性,然后在添加FixFragmentNavigator同时,通过代码将导航资源文件设置进去...总结 本篇在上篇基础上,结合BottomNavigationView实现了第一个底部导航切换实例,然后介绍了这种方式引发坑,进而通过源码分析了发生这种现象原因,并给出了解决思路。

3K30

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

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

1.5K40

学习|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...,在AndroidSDK23后访问下载路径有变化了,当我们下载完成提示点击安装时要注意下面的情况 ?...对应AndroidManifest.xml也要加入 <provider android:name="<em>androidx</em>.core.content.FileProvider

1.3K10

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

57710

XPage页面框架使用详解

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

1.1K30
领券