Android开发怎么快速实现底部导航栏
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍"Android开发怎么快速实现底部导航栏",在日常操作中,相信很多人在Android开发怎么快速实现底部导航栏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年01月18日Android开发怎么快速实现底部导航栏
这篇文章主要介绍"Android开发怎么快速实现底部导航栏",在日常操作中,相信很多人在Android开发怎么快速实现底部导航栏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Android开发怎么快速实现底部导航栏"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Tint 着色器
优点:去除"无用"图片,节省空间
配合BottomNavigationView,实现一个快速,简洁的Tab栏
传统做法:Tab 切换,字体变色、图片变色。至少给我提供八张图,四张默认,四张选中,然后通过 selector 文件设置
现在BottomNavigationView只需四张图!!!
依赖(AndroidX)
implementation 'com.google.android.material:material:1.1.0-alpha01'
布局
编写渲染颜色选择器-tint_selector_menu_color
menu 文件中 icon-nav_bottom_menu
BottomNavigationView的点击事件
这里配合Fragmen
/* Menu显示彩色图标 */ //navBottomMenu.setItemIconTintList(null); /* 导航栏点击事件 */ navBottomMenu.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.iv_home: { FragmentManager.startFragmentHome(Fragment_A.class); return true; } case R.id.iv_wechat: { FragmentManager.startFragmentHome(Fragment_B.class); return true; } case R.id.iv_pipi: { FragmentManager.startFragmentHome(Fragment_C.class); return true; } case R.id.iv_mine: { FragmentManager.startFragmentHome(Fragment_D.class); return true; } default: break; } return false; } });
配合ViewPager实现Tab栏
/* 限制页面数,防止界面反复重新加载 */ viewPager.setOffscreenPageLimit(4); // ViewPager 滑动事件监听 viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int i, float v, int i1) { } @Override public void onPageSelected(int i) { //这里我做了中间凹凸按钮,所以要特别处理以下 //如果没有我这种情况的,直接加上这个 navBottomMenu.getMenu().getItem(i).setChecked(true); 就不用再加switch语句了 switch (i) { case 0: //将滑动到的页面对应的 menu 设置为选中状态 navBottomMenu.getMenu().getItem(i).setChecked(true); break; case 1: //将滑动到的页面对应的 menu 设置为选中状态 navBottomMenu.getMenu().getItem(i).setChecked(true); break; case 2: case 3: //将滑动到的页面对应的 menu 设置为选中状态 navBottomMenu.getMenu().getItem(i + 1).setChecked(true); break; default: break; } } @Override public void onPageScrollStateChanged(int i) { } }); }
对应的适配器
(仅供参考,大家也可以去参考以下别人写的代码)
public class FragPagerAdapter extends FragmentPagerAdapter { private ListfragmentList; public FragPagerAdapter(@NonNull FragmentManager fm, List fragmentList) { super(fm); this.fragmentList = fragmentList; } @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getCount() { return fragmentList.size(); }}
到此,关于"Android开发怎么快速实现底部导航栏"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
导航
底部
开发
页面
学习
事件
状态
图片
文件
更多
变色
帮助
实用
简洁
仅供参考
接下来
不用
代码
优点
传统
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
凡科互联网科技有限公司待遇
京东云擎数据库连不上
请搜索网络安全手抄报
易语言数据库可以存多少条数据
全方位信息和网络安全
小程序用不用选择花费的服务器
数据库技术特点教案
工业网络安全防护目标的是
软件开发企业有哪些政府补贴
网络安全密匙在哪里按
水务行业网络安全方案设计
软件开发工序有哪些
国家网络安全 手抄报
网络安全字典攻击怎么防范
移动公司网络安全维护
绝地求生端游选择服务器
网络安全主体落实情况
中国360网络安全概念车
我的世界网易最热闹的服务器
vs2010 服务器
access属于什么数据库
沈阳创业软件开发
2018网络安全知识竞赛题
网络安全空间协会副理事
云服务器部署web项目结论
销售无线串口服务器公司
运用数据库集群技术
温湿度软件数据库
家庭 网络安全 问题 分类
河北萌萌软件开发有限公司