92.android 简单的底部导航栏效果(BottomNavigationBar)

//先看效果图:

image

 

//第一步 导入第三方依赖: 

 

implementation 'com.ashokvarma.android:bottom-navigation-bar:1.4.1'//底部导航栏

//第二步 布局:

 

<com.ashokvarma.bottomnavigation.BottomNavigationBar
    android:layout_alignParentBottom="true"
    android:id="@+id/mButton"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"></com.ashokvarma.bottomnavigation.BottomNavigationBar>

//第三步 在Activity初始化使用:

 

public class MainActivity extends AppCompatActivity {
    private BottomNavigationBar mButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {

        mButton = (BottomNavigationBar) findViewById(R.id.mButton);
        BadgeItem badgeItem = new BadgeItem().setBackgroundColor(Color.RED).setText("99");//初始化BadgeItem标记,一般用作消息提醒的,设置颜色,设置内容
        //BadgeItem badge=new BadgeItem()
        // .setBorderWidth(2)//Badge的Border(边界)宽度
        // .setBorderColor("#FF0000")//Badge的Border颜色
        // .setBackgroundColor("#9ACD32")//Badge背景颜色
        // .setGravity(Gravity.RIGHT| Gravity.TOP)//位置,默认右上角
        // .setText("2")//显示的文本
        // .setTextColor("#F0F8FF")//文本颜色
        // .setAnimationDuration(2000)
        // .setHideOnSelect(true)//当选中状态时消失,非选中状态显示


        //设置模式为固定模式,不会动,没有水波纹,填充模式,未选中的Item会显示文字,没有换挡动画。
        //mButton.setMode(BottomNavigationBar.MODE_FIXED);
        //如果设置的Mode为MODE_FIXED,使用BACKGROUND_STYLE_STATIC 。
        //mButton.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC);
        //BACKGROUND_STYLE_STATIC,点击的时候没有水波纹效果,航条的背景色是白色,加上setBarBackgroundColor()可以设置成你所需要的任何背景颜色


        //换挡模式,未选中的Item不会显示文字,选中的会显示文字,在切换的时候会有一个像换挡的动画。
        //mButton.setMode(BottomNavigationBar.MODE_SHIFTING);
        //如果Mode为MODE_SHIFTING将使用BACKGROUND_STYLE_RIPPLE。
        //mButton.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_RIPPLE);
        //BACKGROUND_STYLE_RIPPLE,点击的时候有水波纹效果,导航条的背景色是你设置的处于选中状态的 Item的颜色(ActiveColor),也就是setActiveColorResource这个设置的颜色


        //---设置Item未选中颜色方法两种---
        // 1.new BottomNavigationItem().setInActiveColorResource(R.color.white))
        //2.new BottomNavigationItem().setInActiveColor()
        //---设置Item选中颜色方法两种---
        //1.new BottomNavigationItem().setActiveColorResource()
        //2.new BottomNavigationItem().setActiveColor()


        //mButton.setBarBackgroundColor(R.color.colorAccent);//设置栏背景颜色

        mButton
                .setActiveColor("#ff0000") //设置选中的颜色,红色,好像不管用
                .setInActiveColor("#FFFFFF")//设置未选中的颜色,白色
                .setBarBackgroundColor("#000000");//设置栏背景颜色为黑色,这个可以代替设置选中的颜色。

        mButton.addItem(new BottomNavigationItem(R.mipmap.home_setting_press, "淡绿色").setActiveColor("#bedeba"))
                .addItem(new BottomNavigationItem(R.mipmap.home_setting_press, "淡粉色").setActiveColor("#efd2d2"))
                .addItem(new BottomNavigationItem(R.mipmap.home_setting_press, "淡蓝色").setActiveColor("#b0cede").setBadgeItem(badgeItem))//为Item添加Badge标记
                .addItem(new BottomNavigationItem(R.mipmap.home_setting_press, "淡黄色").setActiveColor("#d2cca1"))
                .setFirstSelectedPosition(0)//设置优先选择位置,也就是默认一进来选中哪个
                .initialise(); //所有的设置需在调用该方法前完成

        mButton.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() {//这里也可以使用SimpleOnTabSelectedListener
            @Override
            public void onTabSelected(int position) {
                //未选中 -> 选中
                Toast.makeText(MainActivity.this, position + "未选中 -> 选中", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onTabUnselected(int position) {
                //选中 -> 未选中
            }

            @Override
            public void onTabReselected(int position) {
                //选中 -> 选中
            }
        });

    }
}

//-----------------------------------------------------------------------完------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值