1.在Gradle中添加
compile ‘com.ashokvarma.android:bottom-navigation-bar:0.9.5'
代码
private BottomNavigationBar bnBar;
private HomeFragment homeFragment;
private GroupFragment groupFragment;
private FindFragment findFragment;
private MineFragment mineFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initBnBar();
}
/**
* 初始化View
*/
private void initView() {
bnBar = (BottomNavigationBar) findViewById(R.id.bnBar);
bnBar.setMode(BottomNavigationBar.MODE_CLASSIC);
bnBar.setBarBackgroundColor(R.color.white);//设置bar背景颜色
bnBar.setActiveColor(R.color.deepOrange);//设置被选中时的颜色
bnBar.setInActiveColor(R.color.gray);//设置未被选中时的颜色
//将item添加到bnBar中
bnBar.addItem(new BottomNavigationItem(R.drawable.main_index_home_pressed,"首页"))
.addItem(new BottomNavigationItem(R.drawable.main_index_tuan_pressed,"团购"))
.addItem(new BottomNavigationItem(R.drawable.main_index_search_pressed,"发现"))
.addItem(new BottomNavigationItem(R.drawable.main_index_my_pressed,"我的"))
.initialise();//确认布局
bnBar.setTabSelectedListener(this);
}
/**
* 初次进入默认选择homeFragment
*/
private void initBnBar(){
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
homeFragment = new HomeFragment();
transaction.replace(R.id.flyt_main_activity,homeFragment);
transaction.commit();//提交事务
}
@Override
public void onTabSelected(int position) {
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
switch (position){
case 0:
if (homeFragment==null){
homeFragment = new HomeFragment();
}
transaction.replace(R.id.flyt_main_activity,homeFragment);
break;
case 1:
if (groupFragment==null){
groupFragment = new GroupFragment();
}
transaction.replace(R.id.flyt_main_activity,groupFragment);
break;
case 2:
if (findFragment==null){
findFragment = new FindFragment();
}
transaction.replace(R.id.flyt_main_activity,findFragment);
break;
case 3:
if (mineFragment==null){
mineFragment = new MineFragment();
}
transaction.replace(R.id.flyt_main_activity,mineFragment);
break;
}
transaction.commit();//提交事务
}
@Override
public void onTabUnselected(int position) {
}
@Override
public void onTabReselected(int position) {
}