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

embedded/2024/10/25 2:19:30/

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"><FrameLayoutandroid: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.BottomNavigationViewandroid: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"><itemandroid:id="@+id/navigation_home"android:icon="@drawable/home"android:title="首页"android:checked="true"/><itemandroid:id="@+id/navigation_quanzi"android:icon="@drawable/jiedan_icon"android:title="接单" /><itemandroid:id="@+id/navigation_dingdan"android:icon="@drawable/dingdan"android:title="订单" /><itemandroid:id="@+id/navigation_mine"android:icon="@drawable/mine"android:title="我的" /></menu>

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

  private BottomNavigationView bottomNavigationView;   bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {@Overridepublic 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.ppmy.cn/embedded/132212.html

相关文章

YOLOv11改进策略【卷积层】| SAConv 可切换的空洞卷积 二次创新C3k2

一、本文介绍 本文记录的是利用SAConv优化YOLOv11的目标检测网络模型。空洞卷积是一种在不增加参数量和计算量的情况下,通过在卷积核元素之间插入空洞来扩大滤波器视野的技术。并且为了使模型能够适应不同尺度的目标,本文利用SAConv将不同空洞率卷积结果进行结合,来获取更全…

iOS 大数相加

大数相加的技术点在于进位(两数相加大于10之后进位) 思路如下: 1.从右往左便利,依次去除两个数M和N的个位数、十位数、百位数~~~相加 2.如果M遍历完了,N还没完,那么M用0作为位数上的加数: 代码如下: - (void)bigNumAdd:(NSMutableArray *)arrayA ArrayB:(NSMutableArray *…

单例模式是一种常见的设计模式,确保一个类只有一个实例,并提供一个全局访问点。

单例模式 单例模式是一种常见的设计模式&#xff0c;确保一个类只有一个实例&#xff0c;并提供一个全局访问点。下面是单例模式的几种实现方式&#xff0c;包括线程安全的实现和延迟加载。 1. 懒汉式单例&#xff08;线程不安全&#xff09; 这种方式在第一次调用 getInsta…

Spring Boot环境下的大创项目质量保证系统

3系统分析 3.1可行性分析 通过对本大创管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本大创管理系统采用SSM框架&#xff0c;JAVA作为开发语言&#…

路由器ip地址是什么意思?路由器ip地址哪里看

在数字化时代&#xff0c;路由器作为连接互联网的重要设备&#xff0c;扮演着举足轻重的角色。然而&#xff0c;对于非技术背景的普通用户来说&#xff0c;路由器的一些专业术语和设置可能显得颇为神秘。其中&#xff0c;“路由器IP地址”就是一个常见但又容易让人困惑的概念。…

携程线下一面,面试内容:

面试时间&#xff1a;2024/9/12 • 实例方法和静态方法有什么不一样? • Java中的异常有哪几类?分别怎么使用? • 常用的集合类有哪些?比如List如何排序? • ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和各自适应的场景是什么? • 内存溢出是怎么…

2024年9月中国电子学会青少年软件编程(Python)等级考试试卷(三级)答案 + 解析

目录 一、单选题 二、判断题 三、编程题 一、单选题 1、以下表达式的值为True的是&#xff1f;&#xff08; &#xff09; A. all( ,1,2,3) B. any([]) C. bool(abc) D. divmod(6,0) 正确答案&#xff1a;C 答案解析&#xff1a;A和B选项&#xff0c;False&#xff1b;…

使用milvus数据库实现文本相似比较

先部署milvus, 使用单机模式模式 milvus-install.yaml --- apiVersion: v1 kind: PersistentVolume metadata:annotations:pv.kubernetes.io/bound-by-controller: "yes"finalizers:- kubernetes.io/pv-protectionmanagedFields:- apiVersion: v1fieldsType: Fiel…