Android开发怎么快速实现底部导航栏
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章主要介绍"Android开发怎么快速实现底部导航栏",在日常操作中,相信很多人在Android开发怎么快速实现底部导航栏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2024年11月26日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安全错误
数据库的锁怎样保障安全
网络安全的主要特征
分销平台数据库设计
戴尔710服务器新增硬盘
5g 网络安全
服务器实际功耗怎么样
计算机的网络安全是什么安全
东城区正规软件开发设计专业服务
魔兽世界7区服务器排行
怎么加入smp服务器
南财网络数据库考试题
青浦区品质软件开发咨询热线
风豹互联网科技怎么样
国内服务器网站免备案
崇义鼎浩互联网科技有限公司
黔南软件开发培训学校
黑龙江潮流软件开发服务参考价格
阿里云服务器哪个离湖北近
2018年网络安全的主题是
当代网络安全的重要性
南阳网络安全管理员四级
java 数据库操作封装
身边网络安全事故作文
厦门神搜网络技术有限公司
圆通网络安全部
位于xdb的服务器
东莞跑腿行业软件开发公司
专业嵌入式软件开发百度网盘
网络安全志愿宣言
pchmi用什么软件开发
网络安全工程师工资表情包