实现Android 简单的 底部导航栏【EasyNavigationBar】
实现Android底部导航栏【EasyNavigationBar】
//androidx版本
implementation ‘com.github.Vincent7Wong:EasyNavigation:2.0.5’
布局实现:
<com.next.easynavigation.view.EasyNavigationBar
android:id="@+id/easy_bars"
android:layout_width=“match_parent”
android:layout_height=“match_parent” />
代码块的实现:
private EasyNavigationBar easyBars;
private List fragmentList = new ArrayList<>();
private String[] strings = {“首页”,“分类”,“购物车”,“会员中心”};
private int[] unSelectList = {R.drawable.home_f,R.drawable.search_f,R.drawable.shopcar_f,R.drawable.people_f};
private int[] selectList = {R.drawable.home_t,R.drawable.search_t,R.drawable.shopcar_t,R.drawable.people_t};easyBars = (EasyNavigationBar) findViewById(R.id.easy_bars);
fragmentList.add(new HomeFragment()); fragmentList.add(new ChooseFragment()); fragmentList.add(new ShopCarFragment()); fragmentList.add(new MyFragment()); easyBars.titleItems(strings)//导航栏文字 .fragmentList(fragmentList)//存放fragment的集合 .fragmentManager(getSupportFragmentManager())//fragment管理器 .selectIconItems(selectList)//选中的图片 .normalIconItems(unSelectList)//未选中的图片 .canScroll(true)//可以滑动 .mode(EasyNavigationBar.NavigationMode.MODE_NORMAL) .selectTextColor(Color.parseColor("#ED578A"))//选中的文字颜色 .normalTextColor(Color.parseColor("#9D9D9D"))//未选中的文字颜色 .build();//最后一定要记得.build
好啦,以上就可以实现简单的fragment切换啦~
以下内容仅供了解,希望能够帮助大家(●’◡’●)
给EasyNavigationBar设置监听事件
easyBars.titleItems(strings)//导航栏文字
.fragmentList(fragmentList)//存放fragment的集合
.fragmentManager(getSupportFragmentManager())//fragment管理器
.selectIconItems(selectList)//选中的图片
.normalIconItems(unSelectList)//未选中的图片
.canScroll(true)//可以滑动
.mode(EasyNavigationBar.NavigationMode.MODE_NORMAL)
.selectTextColor(Color.parseColor("#ED578A"))//选中的文字颜色
.normalTextColor(Color.parseColor("#9D9D9D"))//未选中的文字颜色
.setOnTabLoadListener(new EasyNavigationBar.OnTabLoadListener() {
@Override
public void onTabLoadCompleteEvent() {
easyBar.setMsgPointCount(1,66);//参数一:下标,参数二:未读消息数量
easyBar.setHintPoint(3,true);//小红点 参数一:小红点显示的下标,参数二true显示,false不显示
}
}).build();//最后记得一定要.build
设置点击消失事件
easyBar.setOnTabClickListener(new
EasyNavigationBar.OnTabClickListener() {
@Override
public boolean onTabSelectEvent(View view, int position) {if(position==1){ easyBar.setMsgPointCount(1,0);//点击未读消息消失 }else if(position==3){ easyBar.setHintPoint(3,false);//点击小红点消失 } return false; } @Override public boolean onTabReSelectEvent(View view, int position) { return false; } });
好啦,本篇文章分享到此结束~有不懂的欢迎大家及时向我提问哦
本文地址:https://blog.csdn.net/wbywl1223/article/details/109383684