当前位置: 首页 > article >正文

Android中使用bottomnavigation实现底部导航栏

1.Activity页面

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#EFEDED"
    android:fitsSystemWindows="false"
    >

    <FrameLayout
        android:id="@+id/frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/bottom_navigation_1" />



        <com.google.android.material.bottomnavigation.BottomNavigationView
            android:id="@+id/bottom_navigation_1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:itemBackground="@color/white"            导航栏背景颜色
            app:itemIconTint="@color/selector_color"     icon图片选中和未选中颜色
            app:itemTextColor="@color/selector_color"    文字选中和未选中颜色
            app:menu="@menu/bottom_navigation_menu"    
            app:labelVisibilityMode="labeled"
            android:layout_alignParentBottom="true"/>


</RelativeLayout>

2.创建menu页面 (将需要的图片放入mipmap中或drawable中)

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/navigation_home"
        android:icon="@drawable/home"
        android:title="首页"
        android:checked="true"/>
    <item
        android:id="@+id/navigation_quanzi"
        android:icon="@drawable/jiedan_icon"
        android:title="接单" />
    <item
        android:id="@+id/navigation_dingdan"
        android:icon="@drawable/dingdan"
        android:title="订单" />
    <item
        android:id="@+id/navigation_mine"
        android:icon="@drawable/mine"
        android:title="我的" />

</menu>

3.在Activity的java文件中填写 点击事件(切换fragment页面)

  private BottomNavigationView bottomNavigationView;   
  bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.navigation_home:
                        ReplaceFragment(new HomeFragment());
                        return true;
                    case R.id.navigation_quanzi:
                        ReplaceFragment(new QuanZiFragment());
                        return true;
                    case R.id.navigation_dingdan:
                        ReplaceFragment(new DingDanFragment());
                        return true;
                    case R.id.navigation_mine:
                        ReplaceFragment(new MineFragment());
                        return true;
                }
                return false;
            }
        });

创建调用切换页面的方法

  private void ReplaceFragment(Fragment fragment){
        FragmentManager fragmentManager=getSupportFragmentManager();
        FragmentTransaction transaction= fragmentManager.beginTransaction();
        transaction.replace(R.id.frame,fragment);
        transaction.commit();
    }


http://www.kler.cn/news/360005.html

相关文章:

  • PyTorch 中 12 种张量操作详解
  • 7、Vue2(三) element-ui+less
  • 15分钟学 Go 第 13 天:数组
  • springboot 读取配置的方式
  • 基于Lambda架构的大数据处理详解
  • 洛谷刷题 P1008 [NOIP1998 普及组] 三连击
  • 深入剖析CAS:无锁并发编程的核心机制与实际应用
  • MySQL 的系统函数
  • 快速了解Python流程控制语句基本使用
  • 【C++】在Windows中使用Boost库——实现TCP、UDP通信
  • Moectf-week1-wp
  • ENSP环回路由的配置
  • 深度学习基础—神经风格迁移
  • PCL 基于中值距离的点云对应关系(永久免费版)
  • 我常用的两个单例模式写法 (继承Mono和不继承Mono的)
  • 通过SSH远端免密登录执行脚本,修改最新5分钟生成文件权限
  • 离散数学 第二讲 特殊集合和集合间关系 笔记 [电子科大]王丽杰
  • uniapp 常用的地区行业各种多选多选,支持回显,复制粘贴可使用
  • 使用HIP和OpenMP卸载的Jacobi求解器
  • Netty笔记