【UniApp开发小程序】顶部导航栏和底部导航栏设置+iconfont图标引入

news2025/1/11 11:16:29

文章目录

  • 顶部导航栏和底部导航栏设置
    • 创建几个需要底部导航栏切换的页面
    • 使用阿里巴巴矢量图标库
    • 完成底部导航栏tabBar
    • 设置页面顶部导航栏标题
  • 样式优化

顶部导航栏和底部导航栏设置

在正式开发小程序的功能之前,首先需要确定小程序的主要框架。

创建几个需要底部导航栏切换的页面

我的小程序需要创建的页面是“首页”、“我想要”、“私信”、“我的”,“首页”已经存在于项目中,不需要重复创建。创建过程如下:

在这里插入图片描述
在这里插入图片描述
创建成功,不仅创建了star.vueHbuilder还自动帮助创建了star文件夹

在这里插入图片描述
除此之外,还帮助我们在pages.json文件中进行了配置

在这里插入图片描述
同理,继续创建其他文件

在这里插入图片描述

使用阿里巴巴矢量图标库

官网:阿里巴巴矢量图标库

首先注册账号并登录,然后点击我的项目
在这里插入图片描述
创建一个新项目

在这里插入图片描述
在这里插入图片描述
搜索图标添加到项目中

在这里插入图片描述
将想要的图标添加到购物车中

在这里插入图片描述
查看购物车

在这里插入图片描述
将购物车的图标添加到项目中

在这里插入图片描述
下载项目的图标到本地

在这里插入图片描述
将下载的文件解压之后,把里面的.ttf文件拿出来

在这里插入图片描述
将ttf文件存储到项目的静态资源目录下面

在这里插入图片描述
在这里插入图片描述
在项目中使用

在这里插入图片描述

	"tabBar": {
		"iconfontSrc": "static/icon/iconfont.ttf",
		"color": "#333",
		"selectedColor": "#2b92ff",
		"list": [
			{
				"text": "首页",
				"pagePath": "pages/index/index",
				"iconfont": {
					"text": "\ue67e",
					"selectedText": "\ue67e"
				}
			},{
				"text": "我想要",
				"pagePath": "pages/star/star"
			},{
				"text": "消息",
				"pagePath": "pages/message/message"
			},{
				"text": "我的",
				"pagePath": "pages/my/my"
			}
		]
	}

运行到浏览器中,查看网页效果,图标正常

在这里插入图片描述
运行到小程序中,查看效果,非常伤心,并不能正常使用

在这里插入图片描述
虽然在tabBar中无法使用iconfont,但是在页面的其他地方还是可以使用的,请继续后面的操作

在这里插入图片描述
将复制的在线代码替换掉原有的代码,下图是替换前

在这里插入图片描述
下图是替换后

在这里插入图片描述之后,在每个链接前面添加上https

在这里插入图片描述
最后在App.vue文件中引入iconfont.css

在这里插入图片描述
到这里已经大功告成了,可以使用了,想要使用哪个图标,先去复制图标的unicode,如下图

在这里插入图片描述
在页面中使用

在这里插入图片描述
显示成功

在这里插入图片描述

完成底部导航栏tabBar

非常遗憾,上面引入的iconfont没办法再tabBar中使用,只能先把图标下载下来,然后再引入了

在这里插入图片描述
在这里插入图片描述
将下载的图标文件放入到项目的静态文件下面

在这里插入图片描述
使用图标

在这里插入图片描述

"tabBar": {
		"color": "#333",
		"selectedColor": "#2b92ff",
		"list": [
			{
				"text": "首页",
				"pagePath": "pages/index/index",
				"iconPath": "static/icon/tabBar/首页.png",
				"selectedIconPath": "static/icon/tabBar/首页.png"
			},{
				"text": "我想要",
				"pagePath": "pages/star/star",
				"iconPath": "static/icon/tabBar/收藏.png",
				"selectedIconPath": "static/icon/tabBar/收藏.png"
			},{
				"text": "消息",
				"pagePath": "pages/message/message",
				"iconPath": "static/icon/tabBar/消息.png",
				"selectedIconPath": "static/icon/tabBar/消息.png"
			},{
				"text": "我的",
				"pagePath": "pages/my/my",
				"iconPath": "static/icon/tabBar/我的.png",
				"selectedIconPath": "static/icon/tabBar/我的.png"
			}
		]
	}
  • iconPath:未选中状态的图标
  • selectedIconPath:选中之后的图标

我这边为了偷懒,未选中和选中状态都使用相同的图标,你们可以使用不同的图标。

在这里插入图片描述

设置页面顶部导航栏标题

在这里插入图片描述

  • navigationBarTitleText:导航的标题
  • enablePullDownRefresh:页面是否允许下拉刷新
    在这里插入图片描述

样式优化

{
	"easycom": {
		"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
	},
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages

		{
			"path": "pages/index/index",
			"style": {
				"navigationBarTitleText": "首页",
				"enablePullDownRefresh": true,
				// 设置背景颜色
				"navigationBarBackgroundColor": "#2b92ff",
				// 设置标题的颜色
				"navigationBarTextStyle": "white"
			}
		}, {
			"path": "pages/star/star",
			"style": {
				"navigationBarTitleText": "我想要",
				"enablePullDownRefresh": true,
				"navigationBarBackgroundColor": "#2b92ff",
				"navigationBarTextStyle": "white"
			}

		}, {
			"path": "pages/my/my",
			"style": {
				"navigationBarTitleText": "我的",
				"enablePullDownRefresh": true,
				"navigationBarBackgroundColor": "#2b92ff",
				"navigationBarTextStyle": "white"
			}

		}, {
			"path": "pages/message/message",
			"style": {
				"navigationBarTitleText": "消息",
				"enablePullDownRefresh": true,
				"navigationBarBackgroundColor": "#2b92ff",
				"navigationBarTextStyle": "white"
			}

		}
	],
	"globalStyle": {
		"navigationBarTextStyle": "black",
		"navigationBarTitleText": "uni-app",
		"navigationBarBackgroundColor": "#F8F8F8",
		"backgroundColor": "#F8F8F8"
	},
	"uniIdRouter": {},
	"tabBar": {
		"color": "#292929",
		"selectedColor": "#2b92ff",
		"backgroundColor": "#ffffff",
		"list": [{
			"text": "首页",
			"pagePath": "pages/index/index",
			"iconPath": "static/icon/tabBar/首页.png",
			"selectedIconPath": "static/icon/tabBar/首页 (1).png"
		}, {
			"text": "我想要",
			"pagePath": "pages/star/star",
			"iconPath": "static/icon/tabBar/收藏.png",
			"selectedIconPath": "static/icon/tabBar/收藏 (1).png"
		}, {
			"text": "消息",
			"pagePath": "pages/message/message",
			"iconPath": "static/icon/tabBar/消息.png",
			"selectedIconPath": "static/icon/tabBar/消息 (1).png"
		}, {
			"text": "我的",
			"pagePath": "pages/my/my",
			"iconPath": "static/icon/tabBar/我的.png",
			"selectedIconPath": "static/icon/tabBar/我的 (1).png"
		}]
	}
}

在这里插入图片描述

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

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

相关文章

组件的创建,引用,样式隔离以及methods,data,properties和数据事件监听

组件的创建,引用,样式隔离以及methods,data,properties和数据事件监听 1. 组件的创建2. 组件的引用2.1. 局部引用2.2. 全局引用2.3. 组件和页面的区别 3. 组件的样式隔离3.1. 默认情况,组件样式隔离性3.2. 修改组件的样式隔离选项 4. 组件的d…

短视频抖音seo矩阵系统源码开发者思路(一)

一套优秀的短视频获客系统,支持短视频智能剪辑、短视频定时发布,短视频排名查询及优化,短视频智能客服等,那么短视频seo系统具体开发应该具备哪些功能呢?今天小编就跟大家分享一下我们的技术开发思路。 抖音矩阵系统源…

go-zero微服务实战——etcd服务注册与发现

etcd简介 浅谈etcd服务注册与发现 etcd官网 etcd中文文档 apt安装etcd,启动命令十分简单etcd。 etcd分为v2版本和v3版本,命令有所不一样,使用命令etcdctl h查看 如上图所示并没有出现API的版本,此时是使用默认的v2版本&#x…

android editText获取不到数据

问题分析:在onActivityCreated一开始就创建了findViewById,这时获取的是默认值,需要在点击按钮时重新加载才能获取到输入数据。 需要在点击按钮时重新加载数据:

Android Studio中java编程时禁止生成警告

1、打开Android Studio,进入主界面 2、进入软件后,点击菜单栏的File 3、在File选项中选择Settings 4、进入Settings选择Version Control -> Subversion -> Presentation 5、去掉勾选 Show merge source in history and anotations 6、最后点击确定…

在vite创建的vue3项目中使用Cesium加载czml路径信息和无人机模型

在vite创建的vue3项目中使用Cesium加载czml路径信息和无人机模型 用到的区域文件、地图标记文件、路径信息文件、模型文件 提取码:99jq 使用vite创建vue3项目 npm create vitelatestcd到创建的项目文件夹中 npm install安装Cesium npm i cesium vite-plugin-cesium…

一文详解常见标准化组织

从事软件研发工作多年,在工作中有时会查阅一些通信相关的国际标准。然而,对于制定这些标准的组织,一直缺乏一个系统的了解。本文将对几个常见的标准化组织进行介绍,其中包括ITU、3GPP、GSMA和CCSA,了解它们的背景、成立…

零基础学习C#编程的步骤和建议

如果你是零基础,希望学习C#编程语言,以下是一些建议的学习步骤: 基础概念和语法:开始学习C#之前,了解基本的编程概念和语法是很重要的。可以通过在线教程、编程书籍或视频教程来学习C#的基础知识,包括变量…

JVM中类加载的过程

文章目录 一、类加载是什么二、类加载过程1.加载2.验证3.准备4.解析5.初始化 三、什么时候进行类加载四、双亲委派模型1.三大类加载器2.加载过程 总 一、类加载是什么 把.class文件加载到内存中,得到类对象的过程。 二、类加载过程 1.加载 找到.class文件&#xff…

数据预处理matlab

matlab数据的获取、预处理、统计、可视化、降维 数据的预处理 - MATLAB & Simulink - MathWorks 中国https://ww2.mathworks.cn/help/matlab/preprocessing-data.html 一、数据的获取 1.1 从Excel中获取 使用readtable() 例1: 使用spreadsheetImportOption…

给大家推荐几款好用的格式转换工具

在数字化时代,我们经常需要处理各种不同的文件格式。有时我们可能需要将视频转换为适用于特定设备的格式,有时又需要将音频文件转换为可编辑的格式,或者将文档转换为更通用的类型。这就是格式转换工具的重要性所在。然而,在众多的…

纯css3实现小鸡从鸡蛋破壳而出动画特效

实现一个使用纯css3实现小鸡破壳的效果 示例效果如下所示 示例代码 <template><div><div class"eggWrapper"><div class"chickHead"><div class"eyeDiv"></div><div class"eyeDiv"></di…

一文详解 Okio 输入输出流

在 OkHttp 的源码中&#xff0c;我们经常能看到 Okio 的身影&#xff0c;这篇文章&#xff0c;我们把Okio拿出来进行一个详细的介绍学习。 输入输出的概念简述Okio 简介工程中引入 OkioAPI 简介及使用介绍 一、输入输出 在正式介绍 Okio 之前&#xff0c;让我们先回忆一下输…

STM32自学笔记14-步进电机驱动项目-TB67H450驱动

目前的项目是一种2相4线步进电机的闭环驱动电路&#xff0c;使用的电机驱动芯片是TB67H450&#xff0c;再使用磁编码器MT6816&#xff0c;使用FOC算法&#xff0c;基于STM32F1单片机。 这一节是步进电机的驱动芯片驱动研究 首先研究驱动芯片TB67H450的datasheet 这是一个PWM斩…

11_SPI_Flash 读数据实验

11_SPI_Flash 读数据实验 1. 实验目标2. 操作时序2.1 数据读操作指令2.2 数据读操作时序 3. 流程框图3.1 顶层模块3.2 数据读模块 4. 波形图绘制5. RTL5.1 flash_read_ctrl5.2 spi_flash_read 6. testbench 1. 实验目标 使用页写或连续写操作向 Flash 芯片写入数据&#xff0c…

火山引擎 DataLeap 构建Data Catalog系统的实践(三):关键技术与总结

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 关键技术 构建一个好的Data Catalog系统&#xff0c;需要考虑的核心产品设计和技术设计有很多。篇幅所限&#xff0c;本文只概要介绍技术设计中最核心重要的部分&a…

工作日志2 input 的事件优先级 字符串.trim() this.$set()的应用 获取jq的自定义属性

input 的事件优先级 1.input输入框的事件 字符串.trim() 除去前后空格的方法 undefind不可以使用 this.$set()的应用

苹果Mac动态壁纸软件Dynamic Wallpaper

Dynamic Wallpaper 是一款桌面壁纸管理软件&#xff0c;它提供了动态壁纸的功能。动态壁纸是指可以在一段时间内自动更改外观的壁纸&#xff0c;比如根据时间或其他条件进行变化。这种壁纸可以为用户提供更加生动有趣的桌面体验。 Dynamic Wallpaper 软件具有以下特点和功能&am…

基于Java+SpringBoot+Vue的中小企业财务管理系统设计与实现

博主介绍&#xff1a;✌擅长Java、微信小程序、Python、Android等&#xff0c;专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3fb; 不然下次找不到哟 Java项目精品实战案…

Word之解决中文和英文混写导致字间距增大的问题(六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…