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

1.Activity页面

XML 复制代码
<?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 复制代码
<?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页面)

java 复制代码
  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;
            }
        });

创建调用切换页面的方法

java 复制代码
  private void ReplaceFragment(Fragment fragment){
        FragmentManager fragmentManager=getSupportFragmentManager();
        FragmentTransaction transaction= fragmentManager.beginTransaction();
        transaction.replace(R.id.frame,fragment);
        transaction.commit();
    }
相关推荐
沐怡旸11 分钟前
【翻译】adb screenrecord 帮助文档
android
lienyin1 小时前
Android 简单的SFTP服务端+客户端通信传文件
android
fatiaozhang95277 小时前
中兴B860AV5.2-U_原机安卓4.4.2系统专用_晶晨S905L3SB处理器_线刷固件包
android·电视盒子·刷机固件·机顶盒刷机·中兴b860av5.2-u
儿歌八万首7 小时前
Android 自定义 View 实战:打造一个跟随滑动的丝滑指示器
android·kotlin
我有与与症7 小时前
Kuikly 实战:手把手撸一个跨平台 AI 聊天助手 (ChatDemo)
android
恋猫de小郭7 小时前
Flutter UI 设计库解耦重构进度,官方解答未来如何适配
android·前端·flutter
apihz7 小时前
全球IP归属地查询免费API详细指南
android·服务器·网络·网络协议·tcp/ip
hgz07108 小时前
Linux环境下MySQL 5.7安装与配置完全指南
android·adb
Just_Paranoid8 小时前
【Android UI】Android 添加圆角背景和点击效果
android·ui·shape·button·textview·ripple