<LinearLayout
android:orientation="vertical"
android:id="@+id/line"
android:layout_width="match_parent"
android:layout_height="wrap_content"></LinearLayout>
<com.ashokvarma.bottomnavigation.BottomNavigationBar
android:layout_alignParentBottom="true"
android:id="@+id/bott"
android:layout_width="match_parent"
android:layout_height="wrap_content"></com.ashokvarma.bottomnavigation.BottomNavigationBar>
package com.example.day06_barkongjian;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import android.graphics.Color;
import android.os.Bundle;
import com.ashokvarma.bottomnavigation.BottomNavigationBar;
import com.ashokvarma.bottomnavigation.BottomNavigationItem;
import com.ashokvarma.bottomnavigation.TextBadgeItem;
import com.example.day06_barkongjian.Fram.BlankFragment;
import com.example.day06_barkongjian.Fram.BlankFragment2;
import com.example.day06_barkongjian.Fram.BlankFragment3;
import com.example.day06_barkongjian.Fram.BlankFragment4;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private BottomNavigationBar bott;
private Map<Integer,Fragment> fragmentMap;
private int a=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fragmentMap=new HashMap<>();
bott = (BottomNavigationBar) findViewById(R.id.bott);
bott.setMode(BottomNavigationBar.MODE_FIXED)
.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC);
TextBadgeItem textBadgeItem = new TextBadgeItem().setText("99")//小红点个数
.setHideOnSelect(true);//点击消失
bott.addItem(new BottomNavigationItem(R.mipmap.ic_launcher,"发现"))
.addItem(new BottomNavigationItem(R.mipmap.ic_launcher,"同城"))
.addItem(new BottomNavigationItem(R.mipmap.ic_launcher,"我的"))
.addItem(new BottomNavigationItem(R.mipmap.ic_launcher,"哈哈").setBadgeItem(textBadgeItem))//加载红点
.initialise();
bott.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener() {
@Override
public void onTabSelected(int position) {
switch (position){
case 0:
showFragment(R.id.b1);//布局id
break;
case 1:
showFragment(R.id.b2);
break;
case 2:
showFragment(R.id.b3);
break;
case 3:
showFragment(R.id.b4);
break;
}
}
@Override
public void onTabUnselected(int position) {
}
@Override
public void onTabReselected(int position) {
}
});
}
public void showFragment(int id){
if (a==0){
getSupportFragmentManager().beginTransaction().add(R.id.line,getFragment(id)).commit();
}else {
//1 如果添加了就显示,如果没有添加,就添加
if (getFragment(id).isAdded()){
getSupportFragmentManager().beginTransaction().hide(getFragment(a)).show(getFragment(id)).commit();
}else {
getSupportFragmentManager().beginTransaction().add(R.id.line,getFragment(id)).hide(getFragment(a)).commit();
}
}
a=id;
}
/**
* 从map里面判断是否 添加过对象了
* 第一次是添加.
* 以后每次都是取
* @param id
* @return
*/
public Fragment getFragment(int id){
switch (id){
case R.id.b1:
if (!fragmentMap.containsKey(id)){
fragmentMap.put(id,new BlankFragment());
}
break;
case R.id.b2:
if (!fragmentMap.containsKey(id)){
fragmentMap.put(id,new BlankFragment2());
}
break;
case R.id.b3:
if (!fragmentMap.containsKey(id)){
fragmentMap.put(id,new BlankFragment3());
}
break;
case R.id.b4:
if (!fragmentMap.containsKey(id)){
fragmentMap.put(id,new BlankFragment4());
}
break;
}
return fragmentMap.get(id);
}
}
在这里插入图片描述