微信小程序之全局配置-window和tabBar

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…

文章目录

  • 前言
  • 一、全局配置
    • 1、全局配置文件及常用的配置项
  • 二、全局配置 - window
    • 1、小程序窗口的组成部分
    • 2、了解 window 节点常用的配置项
    • 3、设置导航栏的标题
    • 4、设置导航栏的背景色
    • 5、设置导航栏的标题颜色
    • 6、全局开启下拉刷新功能
    • 7、设置下拉刷新时窗口的背景色
    • 8、设置下拉刷新时 loading 的样式
    • 9、设置上拉触底的距离
  • 三、全局配置 - tabBar
    • 1、什么是 tabBar
    • 2、tabBar 的 6 个组成部分
    • 3、tabBar 节点的配置项
    • 4、每个 tab 项的配置选项
  • 四、全局配置 - 案例:配置 tabBar
    • 1、实现步骤
    • 2、步骤1 - 拷贝图标资源
    • 3、步骤2 - 新建 3 个对应的 tab 页面
    • 4、步骤3 - 配置 tabBar 选项
    • 5、完整的配置代码
  • 总结


前言

一、全局配置
1、全局配置文件及常用的配置项
二、全局配置 - window
1、小程序窗口的组成部分
2、了解 window 节点常用的配置项
3、设置导航栏的标题
4、设置导航栏的背景色
5、设置导航栏的标题颜色
6、全局开启下拉刷新功能
7、设置下拉刷新时窗口的背景色
8、设置下拉刷新时 loading 的样式
9、设置上拉触底的距离
三、全局配置 - tabBar
1、什么是 tabBar
2、tabBar 的 6 个组成部分
3、tabBar 节点的配置项
4、每个 tab 项的配置选项
四、全局配置 - 案例:配置 tabBar
1、实现步骤
2、步骤1 - 拷贝图标资源
3、步骤2 - 新建 3 个对应的 tab 页面
4、步骤3 - 配置 tabBar 选项
5、完整的配置代码


一、全局配置

1、全局配置文件及常用的配置项

小程序根目录下的 app.json 文件是小程序的全局配置文件。常用的配置项如下:

  • pages
    • 记录当前小程序所有页面的存放路径
  • window
    • 全局设置小程序窗口的外观
  • tabBar
    • 设置小程序底部的 tabBar 效果
  • style
    • 是否启用新版的组件样式

二、全局配置 - window

1、小程序窗口的组成部分

在这里插入图片描述

2、了解 window 节点常用的配置项

在这里插入图片描述

3、设置导航栏的标题

设置步骤:app.json -> window -> navigationBarTitleText
需求:把导航栏上的标题,从默认的 “WeChat”修改为“哥的时代”,效果如图所示:
在这里插入图片描述
在这里插入图片描述

4、设置导航栏的背景色

设置步骤:app.json -> window -> navigationBarBackgroundColor
需求:把导航栏标题的背景色,从默认的 #fff 修改为 #2b4b6b ,(只支持十六进制,不支持文本颜色)效果如图所示:
在这里插入图片描述
在这里插入图片描述

5、设置导航栏的标题颜色

设置步骤:app.json -> window -> navigationBarTextStyle
需求:把导航栏上的标题颜色,从默认的 black 修改为 white ,效果如图所示:
在这里插入图片描述
在这里插入图片描述

6、全局开启下拉刷新功能

概念:下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为。
设置步骤:app.json -> window -> 把 enablePullDownRefresh 的值设置为 true

注意:在 app.json 中启用下拉刷新功能,会作用于每个小程序页面!
在这里插入图片描述

7、设置下拉刷新时窗口的背景色

当全局开启下拉刷新功能之后,默认的窗口背景为白色。如果自定义下拉刷新窗口背景色,设置步骤为: app.json -> window -> 为 backgroundColor 指定16进制的颜色值 #efefef。效果如下:
在这里插入图片描述

8、设置下拉刷新时 loading 的样式

当全局开启下拉刷新功能之后,默认窗口的 loading 样式为白色,如果要更改 loading 样式的效果,设置步骤为 app.json -> window -> 为 backgroundTextStyle 指定 dark 值。效果如下:
在这里插入图片描述

9、设置上拉触底的距离

概念:上拉触底是移动端的专有名词,通过手指在屏幕上的上拉滑动操作,从而加载更多数据的行为。
设置步骤: app.json -> window -> 为 onReachBottomDistance 设置新的数值

注意:默认距离为50px,如果没有特殊需求,建议使用默认值即可。
在这里插入图片描述

三、全局配置 - tabBar

1、什么是 tabBar

tabBar 是移动端应用常见的页面效果,用于实现多页面的快速切换。小程序中通常将其分为:

  • 底部 tabBar
  • 顶部 tabBar

注意:

  • tabBar中只能配置最少 2 个、最多 5 个 tab 页签
  • 当渲染顶部 tabBar 时,不显示 icon,只显示文本

2、tabBar 的 6 个组成部分

在这里插入图片描述

  • backgroundColor:tabBar 的背景色
  • selectedIconPath:选中时的图片路径
  • borderStyle:tabBar 上边框的颜色
  • iconPath:未选中时的图片路径
  • selectedColor:tab 上的文字选中时的颜色
  • color:tab 上文字的默认(未选中)颜色

3、tabBar 节点的配置项

在这里插入图片描述

4、每个 tab 项的配置选项

在这里插入图片描述

四、全局配置 - 案例:配置 tabBar

1、实现步骤

  • 拷贝图标资源
  • 新建 3 个对应的 tab 页面
  • 配置 tabBar 选项

2、步骤1 - 拷贝图标资源

把放图片的 images 文件夹,拷贝到小程序项目根目录中
将需要用到的小图标分为 3 组,每组两个,其中:
图片名称中包含 -active 的是选中之后的图标
图片名称中不包含 -active 的是默认图标
截图如下:
在这里插入图片描述

3、步骤2 - 新建 3 个对应的 tab 页面

通过 app.json 文件的 pages 节点,快速新建 3 个对应的 tab 页面,示例代码如下:
在这里插入图片描述
其中,home 是首页,message 是消息页面,contact 是联系我们页面。

4、步骤3 - 配置 tabBar 选项

  • 打开 app.json 配置文件,和 pages、window 平级,新增 tabBar 节点
  • tabBar 节点中,新增 list 数组,这个数组中存放的,是每个 tab 项的配置对象
  • 在 list 数组中,新增每一个 tab 项的配置对象。对象中包含的属性如下:
    • pagePath 指定当前 tab 对应的页面路径【必填】
    • text 指定当前 tab 上按钮的文字【必填】
    • iconPath 指定当前 tab 未选中时候的图片路径【可选】
    • selectedIconPath 指定当前 tab 被选中后高亮的图片路径【可选】

5、完整的配置代码

  "tabBar": {
    "list": [{
      "pagePath": "pages/home/home",
      "text": "首页",
      "iconPath": "/images/home.png",
      "selectedIconPath": "/images/home-active.png"
    },{
      "pagePath": "pages/message/message",
      "text": "消息",
      "iconPath": "/images/message.png",
      "selectedIconPath": "/images/message-active.png"
    },{
      "pagePath": "pages/contact/contact",
      "text": "联系我们",
      "iconPath": "/images/contact.png",
      "selectedIconPath": "/images/contact-active.png"
    }]
  },

在这里插入图片描述


总结

以上就是微信小程序之全局配置-window和tabBar的相关知识点,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

日常修复msvcp140.dll丢失的解决方法,msvcp140.dll文件的影响

msvcp140.dll文件是Microsoft Visual C Redistributable包的一部分,它在Windows系统中发挥着重要作用。当出现msvcp140.dll丢失的情况时,这意味着操作系统或应用程序无法找到该文件,可能会导致应用程序无法启动、错误提示等问题。幸运的是&am…

【漏洞复现】Atlassian Confluence远程代码执行漏洞(CVE-2023-22527)

文章目录 前言声明一、Atlassian Confluence简介二、漏洞描述三、影响版本四、漏洞复现五、整改意见 前言 Atlassian Confluence是澳大利亚Atlassian公司的一套专业的企业知识管理与协同软件,也可以用于构建企业WiKi。 声明 请勿利用文章内的相关技术从事非法测试…

knife4j调用接口报404

问题 Knife4j文档请求异常,请求资源的接口都是404 解决方法 就是请求路径出错了,我一开始还以为是拦截器拦截了来自knife4j发来的请求。。。

C++后端开发之Sylar学习一:配置环境

Sylar学习一:配置环境 安装虚拟机 我安装的是Ubuntu 20.04,分配了60G的SSD容量,8G的内存 配置Ubuntu 修改软件源 切换到管理员账户进入到/etc/apt目录 /etc/apt 目录是 Ubuntu 系统中存储与包管理系统 APT (Advanced Package Tool) 相关…

需求分析的结构化和面向对象方法

需求分析的方法,主要有结构化(SA)方法、面向对象分析(OOA)方法。另外有面向问题域的分析(Problem Domain Oriented Analysis,PDOA)方法,还有一些形式化方法例如VDM ( Vienna Design Method)和Z等…

Linux中Iptables使用

概念:网络中的防火墙,是一种将内部网络和外部网络分开的方法,是一种隔离技术 作用: 防火墙在内网与外网通信时进行访问控制,依据所设置的规则对数据包作出判断,最大限度地阻止网络中的黑客破坏企业网络&…

抓包工具Charles修改Response步骤

前言 Charles是在Mac下常用的截取网络封包的工具,在测试服务器端的网络通讯,往往用它来截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取与…

hcip高级网络知识

一:计算机间信息传递原理 抽象语言----编码 编码---二进制 二进制---转换为电流(数字信号) 处理和传递数字信号 二:OSI--七层参考模型 ISO--1979 规定计算机系统互联的组织: OSI/RM ---- 开放式系统互联参考模型 --- 1…

Spring扩展点在微服务应用(待完善)

ApplicationListener扩展 nacos注册服务, 监听容器发布事件 # 容器发布事件 AbstractAutoServiceRegistration#onApplicationEvent # 接收事件吗,注册服务到nacos NacosServiceRegistry#register Lifecycle扩展 #订阅服务实例更改的事件 NamingService#…

Spring基于AbstractRoutingDataSource实现MySQL多数据源

目录 多数据源实现 yml配置文件 配置类 业务代码 案例演示 多数据源实现 yml配置文件 spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedatasource1:url: jdbc:mysql://127.0.0.1:3306/datasource1?serverTimezoneUTC&useUnicodetrue&characte…

数据结构笔记1

来自《Python数据结构学习笔记》(张清云 编著) 第一章 数据结构基础 1.逻辑结构 集合:结构中的数据元素除了同属于一种类型外,别无其他关系线性结构:数据元素之间一对一的关系树形结构:数据元素之间一对…

SwiftUI 打造酷炫流光边框 + 微光滑动闪烁的 3D 透视滚动卡片墙

功能需求 有时候我们希望自己的 App 能向用户展示与众不同、富有创造力的酷炫视觉效果: 如上图所示,我们制作了一款流光边框 + 微光滑动闪烁的 3D 透视卡片滚动效果。这是怎么做到的呢? 在本篇博文中,您将学到以下内容 功能需求1. 3D 透视滚动2. 灵动边框流光效果3. 背景…

C++力扣题目56--合并区间 738--单调递增的数字 968--监控二叉树

56. 合并区间 力扣题目链接(opens new window) 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: intervals [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例 2: 输入: interv…

关于一个QT程序的简单破解思路(不需要分析信号和槽的方法,通用所有程序的破解思路)

几年前,公司买了台国产贴片机,里面的主程序是QT编写,运行在WINDOW XP系统上。主程序打开的界面,如图: 我来简单介绍下程序界面,各位读者不需要搞明白功能,只要知道大体的流程即可。 分析主界面: 一、左边的列表: 贴片生产文件,里面包括了贴片时元器件的坐标、飞达…

【Flutter 面试题】Flutter 是什么?它与其他移动开发框架有什么不同?

文章目录 写在前面Flutter是什么?定义和起源核心设计思想架构组成总结 Flutter与其他移动开发框架的差异1. 跨平台性能2. Dart语言的全面优势3. 热重载功能的优化体验4. 丰富的组件和库的生态系统5. UI一致性和用户体验总结 写在前面 👏🏻 正…

瓦片地图编辑器——实现卡马克卷轴的编辑,键盘控制游戏移动和鼠标点击游戏编辑通过同一个视口实现。

左边是游戏地图编辑区,右边是地图缓冲区,解决了地图缓冲区拖动bug,成功使得缓冲区可以更新。 AWSD进行移动 鼠标左右键分别是绘制/拖动 按F1健导出为mapv3.txt F2清空数组 打印的是游戏数组 easyx开发devcpp 5.11 easyx20220922版本 #…

Conditional Image-to-Video Generation with Latent Flow Diffusion Models

1 Title 重试 错误原因 Conditional Image-to-Video Generation with Latent Flow Diffusion Models(Haomiao Ni eg) 重试 错误原因 重试 错误原因 2 Conclusion This paper propose an approach for cI2V using novel latent flow diffusi…

C++ STL之priority_queue的使用及模拟实现

文章目录 1. 介绍2. priority_queue的使用3. priority_queue的模拟实现 1. 介绍 英文解释: 也就是说: 优先队列是一种容器适配器,根据严格的弱排序标准,它的第一个元素总是它所包含的元素中最大的。 此上下文类似于堆&#xff0c…

伊恩·斯图尔特《改变世界的17个方程》麦克斯韦方程方程笔记

它告诉我们什么? 电和磁并不会随便乱跑。旋转的电场区域会产生垂直于旋转方向的磁场。旋转的磁场区域也会产生垂直于旋转方向的电场,但方向相反。 为什么重要? 这是物理力的第一次重大统一,表明电和磁是密切相关的。 它带来了什么…

数据结构—基础知识(十):树和二叉树(b)

数据结构—基础知识(十):树和二叉树(b) 二叉树的定义 二叉树( Binary Tree)是n(n≥0)个结点所构成的集合,它或为空树(n0);或为非空树,对于非空树T: 有且仅有一个称之为根的结点;根结点以外的…