资讯专栏INFORMATION COLUMN

Android底部导航栏实现(一)之BottomNavigationBar

UCloud / 1624人阅读

摘要:下面直接上代码初始化及相关设置的切换说明这几篇文章没有过多的文字叙述,因为这些东西也不是很难,而且都是常用的,相信很多人都了如指掌了,多说亦是废话,直接上代码看的反而更清楚。

BottomNavigationBar这个控件的使用之前已经写过,这里不再赘述,详情请参考BottomNavigationBar的使用。

下面直接上代码:

初始化及相关设置:
        mBottomNavigationBar = (BottomNavigationBar) view.findViewById(R.id.bottom_navigation_bar);
        mBottomNavigationBar.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC);
        mBottomNavigationBar.setMode(BottomNavigationBar.MODE_FIXED);

        mBottomNavigationBar.addItem(new BottomNavigationItem(R.drawable.home_fill, getString(R.string.item_home)).setInactiveIconResource(R.drawable.home).setActiveColorResource(R.color.colorPrimary).setInActiveColorResource(R.color.black_1))
                .addItem(new BottomNavigationItem(R.drawable.location_fill, getString(R.string.item_location)).setInactiveIconResource(R.drawable.location).setActiveColorResource(R.color.colorPrimary).setInActiveColorResource(R.color.black_1))
                .addItem(new BottomNavigationItem(R.drawable.like_fill, getString(R.string.item_like)).setInactiveIconResource(R.drawable.like).setActiveColorResource(R.color.colorPrimary).setInActiveColorResource(R.color.black_1))
                .addItem(new BottomNavigationItem(R.drawable.person_fill, getString(R.string.item_person)).setInactiveIconResource(R.drawable.person).setActiveColorResource(R.color.colorPrimary).setInActiveColorResource(R.color.black_1))
                .setFirstSelectedPosition(0)
                .initialise();

        mBottomNavigationBar.setTabSelectedListener(this);

        setDefaultFragment();
Tab的切换:
    @Override
    public void onTabSelected(int position) {
        FragmentTransaction beginTransaction = getFragmentManager().beginTransaction();

        switch (position) {
            case 0:
                if (mHomeFragment == null) {
                    mHomeFragment = HomeFragment.newInstance(getString(R.string.item_home));
                }
                beginTransaction.replace(R.id.sub_content, mHomeFragment);
                break;
            case 1:
                if (mLocationFragment == null) {
                    mLocationFragment = LocationFragment.newInstance(getString(R.string.item_location));
                }
                beginTransaction.replace(R.id.sub_content, mLocationFragment);
                break;
            case 2:
                if (mLikeFragment == null) {
                    mLikeFragment = LikeFragment.newInstance(getString(R.string.item_like));
                }
                beginTransaction.replace(R.id.sub_content, mLikeFragment);
                break;
            case 3:
                if (mPersonFragment == null) {
                    mPersonFragment = PersonFragment.newInstance(getString(R.string.item_person));
                }
                beginTransaction.replace(R.id.sub_content, mPersonFragment);
        }
        beginTransaction.commit();

    }

说明:这几篇文章没有过多的文字叙述,因为这些东西也不是很难,而且都是常用的,相信很多人都了如指掌了,多说亦是废话,直接上代码看的反而更清楚。

DownLoad Demo

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/13390.html

相关文章

  • Flutter系列:3.APP基础设施搭建

    摘要:中的导航有点类似的方式,都是通过栈的方式来管理路由页面。就是中管理导航路线的,注意管理的是页面导航的路线,称为的东西而不是像中直接管理的,而每个则可以通过来指定显示的,同时也提供了对栈操作的方法,和。 前言 在上一篇文章Flutter系列:2.实现一个简单的登录界面通过一个简单的登录页面带入了Flutter中页面构建的方式以及一些简单控件的使用;在开发一个app前首要的任务往往是搭建a...

    xuexiangjys 评论0 收藏0
  • Android BottomNavigationBar导航

    摘要:基本属性选中的字体颜色未选中中的颜色背景颜色填充模式,未选中的会显示文字,没有换挡动画换挡模式,未选中的不会显示文字,选中的会显示文字点击的时候没有水波纹效果点击的时候有水波纹效果,也就是导航条的背景色是你设置的处于选中状态的的颜色添加一个基本属性 setActiveColor //选中item的字体颜色 setInActiveColor //未选中Item中的颜色 setBarBac...

    HollisChuang 评论0 收藏0
  • flutter实战2:为APP增加上下Tab页

    摘要:紧接上一篇的有侧边栏,这次我们向中加入上下页,使之跟趋近主流大部分的信息布局套路,等不及看源码的同学可以点击进入我的仓库下载代码。子元素为类型的数组。页的内容容器,其内放置页的主体内容。 紧接上一篇的有侧边栏APP,这次我们向APP中加入上下Tab页,使之跟趋近主流大部分APP的信息布局套路,等不及看源码的同学可以点击进入我的git仓库下载代码。 Tab关键元素 TabControll...

    joyvw 评论0 收藏0
  • 五种方式实现Android底部导航

    摘要:底部导航栏目前基本上每个必备的。效果图实现导航栏的五种方式如上图导航栏上显示的,这里面我总结了这几种,下面会就这几种方式一一记录到文章中。 底部导航栏目前基本上每个app必备的。一般放到首页的,来显示app整个内容的框架。 效果图 showImg(http://img.blog.csdn.net/20161202163009046); 实现导航栏的五种方式 showImg(http:/...

    LMou 评论0 收藏0
  • Android底部导航实现(二)RadioGroup

    摘要:布局这里的使用了状态选择器去除默认带的圆点代码初始化的代码就不记录了,都是一些实现过程无非就是对进行监听一下设置状态状态的设置这里需要注意的是,我写在里面并没有生效。 这里简单记录一下Android底部导航栏通过RadioGroup+Fragment的实现。 showImg(http://img.blog.csdn.net/20161205133818166); 布局: ...

    msup 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<