Android 开源组件PagerBottomTabStrip 快速构建底部导航栏
来源:互联网 发布:无线来源 我的淘宝 编辑:程序博客网 时间:2024/05/17 23:05
转载请标明出处:
http://blog.csdn.net/tyzlmjj/article/details/47904609
本文出自:【M家杰的博客】
2016-5-1更新
项目已经按照谷歌Material Design 的底部导航栏规范完全重构过,具体效果看GitHub
原先的代码我保存在了old分支
Material Design底部导航栏规范:https://www.google.com/design/spec/components/bottom-navigation.html
以下为原文
概述
ViewPager+自定义的底部导航栏在手机应用中非常常见,此开源组件可以帮助开发者快速创建与ViewPager配合使用的底部导航栏。带有消息数量显示、小红点等。
完成效果
使用方法
1.在XML文件中添加布局,一般设置在底部。
<com.mjj.PagerBottomTabStrip android:id="@+id/tab" android:layout_height="56dp" android:layout_width="match_parent" android:background="#FFFFFF" android:layout_alignParentBottom="true" />
2.在Activity的onCreate方法或Fragement的onCreateView方法,绑定控件到ViewPager,初始化。
需要注意的:- ViewPager需要在此之前就初始化- ViewPager的适配器中的 getPageTitle()方法需要重写,以便获取标题文字
PagerBottomTabStrip pagerBottomTabStrip = (PagerBottomTabStrip) findViewById(R.id.tab); pagerBottomTabStrip.builder(mViewPager) .ColorMode() .TabPadding(5) .build();
3.如果你想监听ViewPager的滑动变化事件,应该设置在此控件上,不要直接在ViewPager上设置
mPagerBottomTabStrip.addOnPageChangeListener(Listener);
可自定义控制的所有方法
开始构建
builder(ViewPager)
从这里开始构建,放入一个初始化完毕的ViewPager
模式选择
DefaultMode()
默认模式:显示原始的图标,不做颜色上的修改ColorMode()
纯色模式:改变图标的颜色为设置的颜色(纯色的)
属性设置
TabTextSize(int textsize)
文字大小TabPadding(int padding)
内边距,单位为DPTabTextColor(int textcolor)
文字颜色TabClickTextColor(int clicktextcolor)
选中之后文字的颜色TabIconColor(int iconcolor)
在COLORMODE模式下图标的颜色TabClickIconColor(int clickiconcolor)
在COLORMODE模式下选中后图标的颜色TabMessageBackgroundColor(int backgroundcolor)
圆形消息的背景颜色TabMessageTextColor(int textcolor)
圆形消息的数字颜色TabIcon(int[] resids)
设置图标,非XML文件TabClickIcon(int[] resids)
设置选中后的图标,非XML文件TabBackground(int resid)
TAB按钮背景
完成构建
build()
其他方法
setMessageNumber(int postion,int messageNumber)
设置按钮显示的消息数量
postion 第几个按钮,从0开始。
messageNumber 需要显示的消息数量addMessageNumber(int postion,int messageNumber)
增减按钮显示的消息数量
postion 第几个按钮,从0开始。
messageNumber 需要增减的消息数量setNews(int postion,Boolean news)
控制无数字小圆点的显示与消失
news false消失,true显示。
postion 第几个按钮,从0开始。setFocus(int number)
手动设置选中的Tab项(一般情况下不需要手动设置),从0开始addOnPageChangeListener(OnPageChangeListener listener)
增加ViewPager滑动监听
参考资料
实现的原理可以看我之前的一篇博客:
Android 自定义底部导航栏&消息显示
源码下载
Eclipse版
Android Studio版
GitHub
- Android 开源组件PagerBottomTabStrip 快速构建底部导航栏
- Android底部导航栏组件:BottomNavigationBar
- android底部导航栏
- android底部导航栏
- Android底部导航栏
- android 底部导航栏
- android底部导航栏
- 手把手教你快速实现Android底部导航栏
- Android——BottomNavigationBar底部导航栏的快速实现
- Android 实现底部导航栏
- Android 底部导航栏 BottomNavigationBar
- 实现Android底部导航栏
- android高仿微信底部导航栏
- android BottomNavigationView(底部导航栏)
- Android------底部导航栏BottomNavigationBar
- Android实现底部导航栏
- Android滑动导航菜单的快速构建
- Android滑动导航菜单的快速构建
- 黑马程序员-------Java笔记--------分数基本运算
- 三大WEB服务器对比分析(apache ,lighttpd,nginx)
- [笔记]软件体系结构(1)--模式初印象
- 王爽《汇编语言》第2版-----3、寄存器(内存访问)
- 3. Django 实例开发 url参数传递
- Android 开源组件PagerBottomTabStrip 快速构建底部导航栏
- poj1273(最大流)
- 4. Django 实例开发模板文件
- XMUT acdream 数据结构专场 C题(单调栈)
- HDU 5351(MZL's Border-Java的BigInteger类)
- fzu 2105(区间更新+位拆分)
- 版本适配的问题(持续更新)
- HDU 1879 最小生成树
- 【C语言经典实例】-switch分支结构-模拟自动售货机