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

news/2024/10/24 23:39:15/

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/news/1541694.html

相关文章

第五章,数据库设计

文章目录 第五章&#xff0c;数据库设计一&#xff0c;设计数据库二&#xff0c;E-R图三&#xff0c;数据规范化 第五章&#xff0c;数据库设计 一&#xff0c;设计数据库 良好的数据库设计 节省数据的存储空间能够保证数据的完整性方便进行数据库应用系统的开发 糟糕的数据库…

C++共同体

共同体是一种数据格式&#xff0c;他能储存不同的数据类型&#xff0c;但是同一时间只能储存其中的一种类型。 语法&#xff1a; union 共同体名 { 成员一的数据类型 成员名一&#xff1b; 成员二的数据类型 成员名二&#xff1b; 成员n的数据类型 成员名n&#xff1b; }

052_python基于Python高校岗位招聘和分析平台

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…

深入探讨 Spring 中的自定义注解及其使用场景

在现代 Java 开发中&#xff0c;注解&#xff08;Annotation&#xff09;作为一种元数据形式&#xff0c;极大地简化了开发者的代码配置和逻辑实现。Spring 框架充分利用了注解的功能&#xff0c;实现了依赖注入、事务管理、AOP&#xff08;面向切面编程&#xff09;等核心特性…

016_基于python+django网络爬虫及数据分析可视化系统2024_kyz52ks2

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…

C语言_数据在内存中的存储

1. 整数在内存中的存储 计算机中的整数有三种2进制表示方法 &#xff1a;原码、反码、补码。 三种表示方式均有符号位和数值位两个部分&#xff0c;最高一位的是符号位&#xff0c;剩下的都是数值位。符号位用“0”表示“正”&#xff0c;用“1”表示“负”。 正数的原、反、…

生产环境WAS产生javacore、dmp、dump文件分析

目录 一、分析工具 二、Java 转储&#xff08;Java dump&#xff09; Java 转储内容&#xff08;Java dump contents&#xff09; 标题(TITLE) GP信息&#xff08;GPINFO&#xff09; 环境信息&#xff08;ENVINFO&#xff09; 本地内存信息&#xff08;NATIVEMEMINFO&…

基于SSM+微信小程序的房屋租赁管理系统(房屋2)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的房屋租赁管理系统实现了有管理员、中介和用户。 1、管理员功能有&#xff0c;个人中心&#xff0c;用户管理&#xff0c;中介管理&#xff0c;房屋信息管理&#xff…