前言

Android实现底部导航栏的方式很多,有5种实现方式。
作者使用过两种:RadioGroup+Fragment;FragmentTabHost;其中第一种更容易上手。

实现效果

目录

  • 创建RadioGroup
  • 监听,切换 Fragment

创建RadioGroup

 <RadioGroupandroid:id="@+id/radiogroup"android:layout_width="match_parent"android:layout_height="56dp"android:orientation="horizontal"><RadioButtonandroid:id="@+id/rb_chat"style="@style/BottomNavigationStyle"android:drawableTop="@drawable/main_bottom_chat_selector"android:text="@string/navigation_chat" /><RadioButtonandroid:id="@+id/rb_friend"style="@style/BottomNavigationStyle"android:drawableTop="@drawable/main_bottom_friend_selector"android:text="@string/navigation_friend" /><RadioButtonandroid:id="@+id/rb_setting"style="@style/BottomNavigationStyle"android:drawableTop="@drawable/main_bottom_setting_selector"android:text="@string/navigation_setting" /></RadioGroup>

设置style

<style name="BottomNavigationStyle"><item name="android:layout_width">0dp</item><item name="android:layout_weight">1</item><item name="android:button">@null</item><item name="android:textSize">10sp</item><item name="android:gravity">center</item><item name="android:layout_height">match_parent</item></style>

监听,切换 Fragment

 //监听RadioGroup的变化private void listenRgChange() {//RadioGroup 绑定监听器radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {Fragment fragment = null;@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {// 检查被点击的IDswitch (checkedId) {case R.id.rb_chat:fragment = chatFragment;break;case R.id.rb_friend:fragment = friendFragmengt;break;case R.id.rb_setting:fragment = settingFragment;break;}//切换到对应的FragementswitchFragment(fragment);}});//设置默认页面为会话页面radioGroup.check(R.id.rb_chat);}//实现“切换到对应的Fragement”private void switchFragment(Fragment fragment) {FragmentManager supportFragmentManager = getSupportFragmentManager();supportFragmentManager.beginTransaction().replace(R.id.framelayout, fragment).commit();}

最简单靠谱的底部导航栏实现!!!相关推荐

  1. React Native(四)——顶部以及底部导航栏实现方式

    效果图: 一步一步慢慢来: 其实刚入手做app的时候,就应该做出简单的顶部以及底部导航栏.无奈又在忙其他事情,导致这些现在才整理出来. 1.顶部导航栏:react-native-scrollable- ...

  2. android仿微信的activity平滑水平切换动画,Android实现简单底部导航栏 Android仿微信滑动切换效果...

    Android实现简单底部导航栏 Android仿微信滑动切换效果 发布时间:2020-10-09 19:48:00 来源:脚本之家 阅读:96 作者:丶白泽 Android仿微信滑动切换最终实现效果 ...

  3. Android 底部导航栏-极致简单版

    底部导航栏是常用的一个工具,大多数的APP都带有底部导航栏,底部导航栏可以方便用户一只手操作,切占用内存比常规的Activity少,底部导航栏使用Fragment+RadioGroup方法来实现,示意 ...

  4. php仿微信底部菜单,Android实现简单底部导航栏 Android仿微信滑动切换效果

    Android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏 ...

  5. android滑动菜单图标,Android实现简单底部导航栏 Android仿微信滑动切换效果

    Android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏 ...

  6. android 底部滑动效果怎么做,Android实现简单底部导航栏 Android仿微信滑动切换效果...

    android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义view配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏 ...

  7. 开发vue底部导航栏组件

    这个想法源于最近自己在开发一个移动端博客的一个底部导航栏,原型设计如下: 我们来分析一下这个导航栏,其实很简单啦,就是自适应固定在底部 我们可以使用CSS3属性display:flex设置父级盒子为伸 ...

  8. 底部导航栏Bottom navigation规范指南

    原文链接:https://github.com/LittleFriendsGroup/BottomNavigation 底部导航栏(Bottom navigation)规范指南 前言: 最近 Goog ...

  9. 底部导航栏的几种实现方式

    概述 Android底部导航栏实现方式真的是太多了~在这里仅介绍几种实现方式~建议使用TabLayout +ViewPager ,TabLayout是Android Material Design中的 ...

最新文章

  1. 一分钟了解阿里云产品:先知计划
  2. EditText的另类用法
  3. GDOP定位算法的MATLAB仿真
  4. 各个大厂的机器学习平台概述
  5. 动环监控系统的组成都有什么呢?
  6. centos7 elk7.1.1安装
  7. Dx11DemoBase 基类(二) 初始化 DirectX11 的 4个基本步骤
  8. 剑指offer 矩形覆盖
  9. HDU 1024Max Sum Plus Plus(最大m字段和)
  10. System Center Technical Preview DPM(2016)对Exchange2016的灾难恢复
  11. Qt工作笔记-Qt5 利用QJson从文件读取Json并解析
  12. 在 Linux 下使用 RAID(九):如何使用 ‘Mdadm’ 工具管理软件 RAID
  13. LeetCode(1029)——两地调度(JavaScript)
  14. 高级计算机网络 ppt模板,高级计算机网络幻灯片课件.ppt
  15. IC卡读写器c#源代码
  16. 7. 稀疏表示之OMP,SOMP算法及openCV实现
  17. Android编码规范
  18. 夜深人静写算法(一)- 搜索入门
  19. excel同一行中如何添加换行
  20. Mahalanobis距离(马氏距离)的“哲学”解释

热门文章

  1. linux 线程的调度策略
  2. 八、自动曝光 (转自 色影无忌)
  3. php for循环九九乘法表,for循环连续求和、九九乘法表代码
  4. 开发新浪微博android客户端
  5. CAUSE: 加载证书时出错PKCS12 key store mac invalid - wrong password
  6. 【编译原理】【C语言】实验一:手动构造词法分析器
  7. 定时任务Cron表达式学习
  8. 派盘——安全、高效、便捷的本地云存储
  9. 将轮廓仪采集的.csv格式的数据转换成.asc
  10. 如何使用usb_cam和image_transport_plugins插件进行usb摄像头的视频获取和实时图像传输