Android(安卓)开源组件PagerBottomTabStrip 快速构建底部导航栏
转载请标明出处:
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
更多相关文章
- React Native开发指南
- Android中使用DownloadManager下载并安装apk
- 【 Android(安卓)10 系统启动 】系列 -- Launcher(应用门户)
- android MediaCodec ACodec OMX tips
- Android判断现在所处界面是否为home主桌面的方法
- Android获得内/外置存储卡路径的方法
- android 获取网络数据,回传到本地用TextView显示乱码问题解决方法
- android 自动弹出软件盘和不弹出设置
- Android进程间通信(二):通过AIDL介绍Binder的工作机制