bottom-bar使用

效果图 颜色和背景是在布局可以改的appNs自定义属性里面  就是在你布局最上面加

    xmlns:app="http://schemas.android.com/apk/res-auto"





添加依赖

   compile 'com.roughike:bottom-bar:2.0.2'

布局中底部添加

    <com.roughike.bottombar.BottomBar
        android:id="@+id/bottomBar"
        android:background="@color/colorPrimary"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        app:bb_activeTabColor="@android:color/white"
        app:bb_inActiveTabColor="#55ffffff"
        app:bb_behavior="shifting"
        app:bb_tabXmlResource="@xml/bottombar_tabs"/>
@xml/bottombar_tabs

<tabs>
    <tab
        id="@+id/tab_main"
        icon="@drawable/bottom_home_icon"
        title="首页" />
    <tab
        id="@+id/tab_mv"
        icon="@drawable/bottom_mv_unselect"
        title="MV" />
    <tab
        id="@+id/tab_vbang"
        icon="@drawable/bottom_vbang_unselect"
        title="V绑" />
    <tab
        id="@+id/tab_yuedan"
        icon="@drawable/bottom_yuedan_unselect"
        title="悦单" />
</tabs>

找到id可以用findViewById 但是我用的butterknife

    @Bind(R.id.bottomBar)
    BottomBar bottomBar;

主代码  toobar是另一个控件...

    private SparseArray<BaseFragment> fragmentS;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        initToobar();
        initFragment();
        bottomBar.setOnTabSelectListener(new OnTabSelectListener() {
            @Override
            public void onTabSelected(@IdRes int tabId) {

//                    Utils.showToast(getApplicationContext(),tabId+"");

                switchFragment(tabId);
            }
        });
    }

    private void switchFragment(@IdRes int tabId) {
        Fragment baseFragment = fragmentS.get(tabId);
        FragmentManager fragmentManager = getSupportFragmentManager();
        fragmentManager.beginTransaction().replace(R.id.fl_container, baseFragment).commit();
    }

    private void initFragment() {
        //用来替换hashMap  数据多了以后  性能会差一点
        //如果有大量的key Value可以考虑用SparseArry可以节省内存
        fragmentS = new SparseArray<>();
        fragmentS.append(R.id.tab_main,new MainFragment());
        fragmentS.append(R.id.tab_mv,new MvFragment());
        fragmentS.append(R.id.tab_vbang,new VbangFragment());
        fragmentS.append(R.id.tab_yuedan,new YuedanFragment());

    }

    private void initToobar() {

        toolbar.setTitle("MediaPlayer");
        toolbar.setBackgroundColor(Color.parseColor("#31c3ff"));
        toolbar.setTitleTextColor(Color.WHITE);
        setSupportActionBar(toolbar);
    }






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安果移不动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值