效果图 颜色和背景是在布局可以改的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);
}