Android炫酷的底部导航栏,炫酷的底部导航栏

基本使用

使用这个控件,只需要简单的几部引入该控件到你的项目中compile 'com.chen.wakehao.library:bottom-navigation-bar:1.0.0'res/meun/demo_menu.xml:<?xml  version="1.0" encoding="utf-8"?>

android:title="首页"

android:icon="@drawable/ic_home"

>

android:title="发现"

android:icon="@drawable/ic_t4"

>

android:title="社交"

android:icon="@drawable/ic_t5"

>

在你的layout文件中将这个menu引入app:menu="@menu/demo_menu"如果想自动集成Fragment/ViewPager切换逻辑

item:

...

fragment="com.wakehao.demo.fragment.WeChatHomeFragment"

>

...

fragment="Fragment完整包名"

>

.

.

.

layout:

android:id="@+id/fragment_container"

android:layout_width="match_parent"

android:layout_height="match_parent">

...

app:fragmentContainerId="@id/fragment_container"

...

>

用法和BottomNavigationView差不多,但是在此基础上添加了许多其他功能效果

自定义设置

BottomNavigationBar设置

android:id="@+id/bar"

app:switchMode="shift"

app:isSlide="true"

app:menu="@menu/demo_menu_2"

app:selectedColor="#ffffff"

app:unSelectedColor="#bbbbbb"

app:fragmentContainerId="@id/fragment_container"

app:viewpagerId="@id/viewpager"

android:layout_alignParentBottom="true"

android:layout_width="match_parent"

android:layout_height="wrap_content">

app:switchModestill 点击item不产生动画效果

scale 点击item有缩放效果,默认是scale

shift 点击item有偏移效果

app:isSlide

默认false,设置为true表示可以随着viewPager的滑动item有渐变效果。所以设置为true需要提供viewPagerId以及icon2isSlide=true:随着viewPager的滑动而不断改变图片文字背景色等...

isSlide=false:

app:menu

将res/meun目录下的xml文件中的item填充到该视图中

app:selectedColor

被选中的item图片和文字的颜色,默认是colorPrimary

app:unSelectedColor

未被选中item图片和文字的颜色,默认是Color.GRAY

app:fragmentContainerId

指定存放fragment的容器,配合item里的设置可以自动实现bar点击切换相应的fragment

app:viewpagerId

指定存放viewpager的容器,配合item里的设置可以自动实现bar和viewpager之间的联动

item设置

android:id="@+id/test_1"

android:title="@string/home"

android:icon="@mipmap/home_normal"

icon2="@mipmap/home_selected"

shiftedColor="#258555"

fragment="com.wakehao.demo.fragment.WeChatHomeFragment"

>

android:title

必须设置,显示的文字

android:icon

必须设置,显示的图片

icon2

可选设置,如果设置了点击显示icon2,未选中显示android:icon;如果未设置,选中和未选中都是android:icon,变化的只是图片的颜色

shiftedColor

可选设置,表示点击背景蔓延的水纹效果的颜色

fragment

可选设置,指定点击该item时显示的fragment,需要提供完整包名。且需要指定app:fragmentContainerId或app:viewpagerIdapp:fragmentContainerId 实现bar点击切换相应的fragment

app:viewpagerId 实现bar和viewpager之间的联动

代码设置

bar.showNum(position,num);num<0 显示小红点,不可拖拽

99>=num>0 显示1到99的数字,可拖拽

num>99 显示99+,可拖拽bar.showNum(0,80);

bar.showNum(1,100);

bar.showNum(2,-2);

bar.disMissNum(position)

指定位置的小红点消失

bar.setOnNavigationItemSelectedListener()

监听点击事件bar.setOnNavigationItemSelectedListener(new BottomNavigationBar.OnNavigationItemSelectedListener() {

@Override

public boolean onNavigationItemSelected(@NonNull BottomNavigationItem item, int selectedPosition) {

if(selectedPosition==2){

//返回值为false表示不可点击

return false;

}

return true;

}

@Override

public void onNavigationItemSelectedAgain(@NonNull BottomNavigationItem item, int reSelectedPosition) {

//reSelectedPosition 表示已选中之后再次点击该位置

Toast.makeText(MainActivity.this,"you click it again on item :"+reSelectedPosition,Toast.LENGTH_SHORT).show();

}

});

bar.setTitle(position,title)

动态设置position位置的item的标题

bar.setItemSelected(position,true);

通过代码设置position位置item选中,true表示执行动画(shfit,scale),false不执行.

bar.showBar()/bar.hideBar()

Slide(滑动) 显示/隐藏bar

bar.showBar(1)/bar.hideBar(1)

Fade(渐隐) 显示/隐藏bar

bar.getFragment(position)

获取相应位置的Fragment实例

bar.getViewPager()

获取ViewPager实例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值