【AndroidUI设计】Bottom Navigation Activity中Fragment(碎片)的添加和下层导航图标的修改

news2024/12/25 9:28:09

文章目录

    • 一、引言
    • 二、设计
      • 1、添加Fragment
        • (1)确认需求
        • (2)创建
          •      <1> 方法一:借助工具快速生成
          •      <2> 方法二:视图(图层)工具
          •      <3> 方法三:手动创建
        • (3)添加
          •      <1> 添加碎片属性(命名、图标)
          •      <2> 在菜单(bottom_nav_menu.xml)文件里添加子项(item)
          •      <3> 添加碎片界面
        • (4)效果
      • 2、修改底层图标
        • (1)图标资源
          •      <1> 方法一:PS进行设计
          •      <2> 方法二:阿里巴巴矢量图标库
        • (2)下载资源
          •      <1> 添加入库
          •      <2> 打开购物车
          •      <3> 下载
          •      <4> 选择svg
        • (3)使用
          •      <1> 打开svg文件
          •      <2> F12 找到元素
          •      <3> Android studio里创建资源文件
          •      <4> 修改文件内容
          •      <5> 修改布局文件
          •      <6> 效果

一、引言

  • 描述:在实际开发中,Fragment(碎片)是一种使用比较频繁的布局。Android studio就有个一键生成Fragment布局的方式Bottom Navigation Activity,那么我们如何在这个基础上进行添加Fragment(碎片)和修改下层导航图标呢?
  • 难度:初级
  • 效果
    在这里插入图片描述

二、设计

1、添加Fragment

(1)确认需求

假设需要在原基础上添加一个个人信息界面碎片,命名:info

在这里插入图片描述

(2)创建

     <1> 方法一:借助工具快速生成

如图创建Fragment(with ViewModel),当然如果没有需要动态修改的数据、简单的界面可以选择Modal Bottom Sheet。

在这里插入图片描述

     <2> 方法二:视图(图层)工具

选择Gallery

在这里插入图片描述

进入Gallery,就可以按照需求进行选择

在这里插入图片描述

     <3> 方法三:手动创建

先创建一个Activity

在这里插入图片描述
在这里插入图片描述

进行如下修改

在这里插入图片描述

(3)添加

     <1> 添加碎片属性(命名、图标)

为了照顾初学者,图标的修改在下一章

在这里插入图片描述

	<string name="title_info">Info</string>

在这里插入图片描述

     <2> 在菜单(bottom_nav_menu.xml)文件里添加子项(item)

在这里插入图片描述

	<item
        android:id="@+id/navigation_info"
        android:icon="@drawable/ic_notifications_black_24dp"
        android:title="@string/title_info"/>

在这里插入图片描述

     <3> 添加碎片界面

在这里插入图片描述

    <fragment
        android:id="@+id/navigation_info"
        android:name="com.hngy.xpq.fragmentdemo.ui.info.InfoFragment"
        android:label="@string/title_info"
        tools:layout="@layout/fragment_info" />

在这里插入图片描述

(4)效果

  • 添加之前(三个碎片布局)

在这里插入图片描述

  • 添加之后(四个碎片布局)

在这里插入图片描述

2、修改底层图标

(1)图标资源

     <1> 方法一:PS进行设计

在这里插入图片描述

     <2> 方法二:阿里巴巴矢量图标库

阿里巴巴矢量图标库网址:https://www.iconfont.cn/collections/index?spm=a313x.7781069.1998910419.6&type=2

在这里插入图片描述

(2)下载资源

     <1> 添加入库

在这里插入图片描述

     <2> 打开购物车

在这里插入图片描述

     <3> 下载

在这里插入图片描述

     <4> 选择svg

在这里插入图片描述

(3)使用

     <1> 打开svg文件

在这里插入图片描述

     <2> F12 找到元素

在这里插入图片描述

     <3> Android studio里创建资源文件

在这里插入图片描述

     <4> 修改文件内容

根据F12得到的元素内容,已知(width, height)= 200px,(viewportWidth, viewportHeight)= 1024,path就根据元素中的进行修改。

在这里插入图片描述

     <5> 修改布局文件

在这里插入图片描述

在这里插入图片描述

     <6> 效果
  • 修改之前

在这里插入图片描述

  • 修改之后

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/686835.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

知网G4《语数外学习》简介及投稿邮箱

知网G4教育专刊《语数外学习》简介及投稿邮箱 《语数外学习》全新改版&#xff0c;分别针对初中三个不同年级&#xff0c;每本仍然兼顾语数外三个学科。改版后的《语数外学习》将密切关注课改和中考改革的进程&#xff0c;与教材同步&#xff0c;在帮中学生朋友释疑疑惑、提高…

DOTA-PEG3-azide,1428146-79-5,DOTA三聚乙二醇叠氮,试剂相关研究说明

DOTA-PEG3-azide&#xff0c;DOTA PEG3 N3&#xff0c;DOTA三聚乙二醇叠氮产品结构式&#xff1a; 产品规格&#xff1a; 1.CAS号&#xff1a;1428146-79-5 2.分子式&#xff1a;C24H44N8O10 3.分子量&#xff1a;604.66 4.包装规格&#xff1a;白色固体 &#xff0c;1g、5g、1…

数据库性能测试

目录 前言&#xff1a; 1.引入数据库驱动包 2.添加数据库配置元件 3、JDBCRequest参数化 4、Variablesnames参数使用方法&#xff1a; 前言&#xff1a; 数据库性能测试是测试数据库系统在各种条件下的性能和稳定性的过程。它可以帮助测试人员识别数据库系统的性能瓶颈&a…

30余名「实在RPA·数字员工」在纳爱斯诞生,在618中服务千万消费者!

积水成渊&#xff0c;聚沙成塔&#xff01;谁在世界数字化大势中不断变革自己&#xff1f; 长期蝉联“中国品牌价值评价”日化行业首位&#xff0c;问鼎中国工业“奥斯卡”大奖的“大国品牌”纳爱斯——当仁不让&#xff01; 纳爱斯是日化行业领军企业&#xff0c;业务覆盖家…

SpringBoot整合MybatisPlus 自动生成controller、mapper、entity、service

首先创建SpringBoot项目 选择依赖 把application的后缀改为.yml&#xff0c;方便些。 pom.xml&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w…

一次完整的性能测试,测试人员需要做什么

目录 前言&#xff1a; 一、 规范性能测试实施流程的意义 二、 性能测试实施流程 1. 需求调研阶段 2. 测试准备阶段 3. 测试执行阶段 4. 测试报告阶段 5. 测试总结阶段 前言&#xff1a; 进行一次完整的性能测试需要经过多个阶段&#xff0c;包括需求分析、测试计划编…

OpenStack(3)--vxlan网络实战

目录 一、ML2配置文件 二、上传cirros镜像 三、创建vxlan10网络 四、创建实例/同vxlan通信测试 五、不同vxlan通信测试 5.1 新建vxlan11 5.2 新建路由/添加路由接口 5.3 不同vxlan通信测试 5.4 qemu-vnc报错 六、深度剖析vxlan 七、认识 Bridge br-ex、Bridge br-in…

「一本通 3.2 练习 6」汽车加油行驶

目录 第一步&#xff0c;二维转一维&#xff08;此步仅为方便&#xff0c;可以省略&#xff09; 第二步&#xff0c;建边&#xff08;啥都行&#xff0c;只要死不了&#xff09; 第三部&#xff0c;bfs&#xff08;你要dfs也行&#xff09; 第一步 第二步 第三步 可CA呢…

蓝桥杯专题-试题版-【01字符串】【2n皇后问题】【A+B问题】【Fibonacci数列】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

ECS 简略版说明一:Entities and components

目录 Entities and components Worlds and EntityManagers Archetypes Chunks Queries Entity IDs IComponentData Managed IComponentData components DynamicBuffer components Aspects Allocator overview Allocator.Temp Allocator.TempJob Allocator.Persis…

MySQL性能测试及调优中的死锁处理方法

目录 前言&#xff1a; 1、死锁检测 2、死锁避免 3、死锁解决 前言&#xff1a; MySQL死锁是指多个会话同时请求相同资源时发生的一种资源争用现象&#xff0c;导致会话无法继续执行。死锁的发生会导致事务无法提交或者回滚&#xff0c;影响应用程序的正常运行。因此&#xff0…

consul简介与安装

一、Consul简介 Consul 是 HashiCorp 公司推出的开源产品&#xff0c;用于实现分布式系统的服务发现、服务隔离、服务配置&#xff0c;这些功能中的每一个都可以根据需要单独使用&#xff0c;也可以同时使用所有功能。Consul 官网目前主要推 Consul 在服务网格中的使用。 与其…

【人工智能】教你如何让 AI 赢得贪吃蛇游戏----强化学习(初探)

人工智能--AI贪吃蛇&#xff0c;每一个代码都有详细的注释&#xff0c;希望多多收藏&#xff0c;点赞&#xff0c;评论 1.前言&#xff1a;训练ai玩游戏的可行性2.代码实现思路&#xff1a;3.代码完整实现3.1 Game Game.py 完整实现3.1.1 安装pygame库3.1.2 编写游戏逻辑代码 3…

Sangfor华东天勇战队:某咖啡还原密钥

最近学习了密钥还原&#xff0c;复现下并记录思路 function wbaes_encrypt_ecb(){var module_base Module.findBaseAddress("libcryptoDD.so")var func_base module_base.add(0x17BD41)Interceptor.attach(func_base,{onEnter:function (args){console.log("E…

风控引擎如何快速接入不同的数据源?

目录 数据是风控引擎的重要组成 风控引擎的数据接入 风控引擎是一种基于数据分析和机器学习算法的系统&#xff0c;能够实时识别和处理各种风险问题&#xff0c;适用于金融、电商、智能制造、交通运输等各领域&#xff0c;能够提高企业的风险管理水平和业务效率。 风控引擎主…

我心中的TOP1编程语言—JavaScript

作为一名研发工程师&#xff08;程序员&#xff09;&#xff0c;平时工作中肯定会接触或了解很多编程语言。每个人都会有自己工作中常用的语言&#xff0c;也会有偏爱的一些编程语言。而我心中的最爱&#xff0c;毫无疑问&#xff0c;就是 JavaScript。 JavaScript 是一门编程…

23. 数据结构之位图

前言 之前在讲散列表的时候&#xff0c;提到过位图的概念。位图&#xff08;Bitmap&#xff09;作为一种特殊的数据结构&#xff0c;它使用一系列位来表示数据&#xff0c;每个位只有两个状态&#xff08;0或1&#xff09;。由于它的高效性和节省空间的特性&#xff0c;位图在…

SpringBoot的配置环境属性

SpringBoot的配置环境属性 在本文中&#xff0c;我们将讨论SpringBoot的配置环境属性。我们将了解如何使用这些属性来配置我们的应用程序&#xff0c;以便在不同的环境中运行。我们还将了解如何使用SpringBoot的配置文件来管理这些属性。最后&#xff0c;我们将介绍一些最佳实…

java的嵌套类(nested class)、内部类(inner class)的区别

嵌套类即nested class&#xff0c;内部类即Inner class。 概括来说&#xff0c;嵌套类的概念比内部类概念大。嵌套类包含内部类和非内部类。一个内部类一定是一个嵌套类&#xff0c;但一个嵌套类不一定是一个内部类。 在一个类内部或者接口内部声明的类是嵌套类。 下面这些类是…

《Java面向对象程序设计教程》课后编程题

文章目录 第 1 章 Java 概述第 2 章 Java 语言基础第 3 章 Java 面向对象编程第 4 章 Java 图形用户界面程序设计第 5 章 Applet 设计第 6 章 Java 输入输出流与文件操作第 7 章 Java 的多线程机制第 9 章 常用工具类与集合框架 第 1 章 Java 概述 试编写 Java 程序&#xff0…