//依赖
implementation 'com.ashokvarma.android:bottom-navigation-bar:2.0.4'//底部导航栏
<com.ashokvarma.bottomnavigation.BottomNavigationBar
android:id="@+id/bottom_navigation_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom" />
public class ZhuActivity extends BaseActivity implements BottomNavigationBar.OnTabSelectedListener {
Home_Fragment fragment2;
GirlFragment fragment4;
@BindView(R.id.fragment_container)
LinearLayout fragmentContainer;
@BindView(R.id.bottom_navigation_bar)
BottomNavigationBar bottomNavigationBar;
private int[] mIconUnselectIds = {R.mipmap.ic_home_normal, R.mipmap.ic_girl_normal, R.mipmap.ic_video_normal, R.mipmap.ic_care_normal};
private int[] mIconSelectIds = {R.mipmap.ic_home_selected, R.mipmap.ic_girl_selected, R.mipmap.ic_video_selected, R.mipmap.ic_care_selected};
// private BadgeItem badge2;
// private BadgeItem badge;
// private BadgeItem badge3;
// private BadgeItem badge4;
// private ShuJuFragment fragment;
// private CareFragment fragment3;
// private VadioFragment blankFragment3;
// private GirlFragment blankFragment2;
// private Home_Fragment blankFragment;
// private CareFragment blankFragment4;
// @Override protected void initView() { ButterKnife.bind(this);
// bottomNavigationBar.setAutoHideEnabled(true);
// 自动隐藏 InitNavigationBar(); initBae(); initBase();
// 为使底部栏能滑动隐藏,直接监听NestedScrollView的滑动事件 向下滑则隐藏 上滑则显示
initData();
}
@Override
protected int getLayoutId() {
return R.layout.activity_main3;
}
private void initBae() {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
if (blankFragment == null) {
try {
blankFragment = Home_Fragment.class.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
transaction.replace( R.id.fragment_container, blankFragment );
transaction.commit();
}
private void InitNavigationBar() {
bottomNavigationBar.setTabSelectedListener( this );
bottomNavigationBar.setMode( BottomNavigationBar.MODE_SHIFTING );
bottomNavigationBar.setBackgroundStyle( BottomNavigationBar.BACKGROUND_STYLE_RIPPLE );
ShapeBadgeItem badge = new ShapeBadgeItem();
badge.setShapeColor( "#1BEA0E" ).setHideOnSelect( true ).setGravity( Gravity.RIGHT | Gravity.TOP );
bottomNavigationBar.addItem( new BottomNavigationItem( R.drawable.ic_home_selected, "首页" ).setBadgeItem( badge )
.setInactiveIcon( ContextCompat.getDrawable( this, R.drawable.ic_home_normal ) ) )
//非选中的图片)
.addItem( new BottomNavigationItem( R.drawable.ic_girl_selected, "美女" )
.setBadgeItem( new ShapeBadgeItem() )
.setInactiveIcon( ContextCompat.getDrawable( this, R.drawable.ic_girl_normal ) ) )
.addItem( new BottomNavigationItem( R.drawable.ic_video_selected, "关注" )
.setBadgeItem( new ShapeBadgeItem() )
.setInactiveIcon( ContextCompat.getDrawable( this, R.drawable.ic_video_normal ) ) )
.addItem( new BottomNavigationItem( R.drawable.ic_care_selected, "个人" ).setBadgeItem( new ShapeBadgeItem() )
.setInactiveIcon( ContextCompat.getDrawable( this, R.drawable.ic_care_normal ) ) )
.setFirstSelectedPosition( 0 )
/* .setActiveColor("#EA5FFE")//#F6F0F0白色 .
// setInActiveColor("#F6F0F0")//则色*/
.setBarBackgroundColor( "#FD8822" )
//#FD8822//黄色
.initialise();
bottomNavigationBar.hide();//隐藏
bottomNavigationBar.hide( true );//隐藏是否启动动画,这里并不能自定义动画
bottomNavigationBar.setBarBackgroundColor( R.color.white );//背景颜色
bottomNavigationBar.setInActiveColor( "" );//未选中时的颜色
// bottomNavigationBar.setActiveColor("#FD8822");
// 选中时的颜色
}
private void initBase() { //透明状态栏
getWindow().addFlags( WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS );
//透明导航栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); }
@Override public void onTabSelected ( int position){
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
switch (position) {
case 0:
if (blankFragment == null) {
try {
blankFragment = Home_Fragment.class.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
transaction.replace( R.id.fragment_container, blankFragment );
break;
case 1:
if (blankFragment2 == null) {
try {
blankFragment2 = GirlFragment.class.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
transaction.replace( R.id.fragment_container, blankFragment2 );
break;
case 2:
if (blankFragment3 == null) {
try {
blankFragment3 = VadioFragment.class.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
transaction.replace( R.id.fragment_container, blankFragment3 );
break;
case 3:
if (blankFragment4 == null) {
try {
blankFragment4 = CareFragment.class.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
transaction.replace( R.id.fragment_container, blankFragment4 );
break;
default:
if (blankFragment == null) {
try {
blankFragment = Home_Fragment.class.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
transaction.replace( R.id.fragment_container, blankFragment );
break;
}
transaction.commit();
}
@Override public void onTabUnselected ( int position){
}
@Override public void onTabReselected ( int position){
}
}