微信小程序-----全局配置与页面配置

目录

前言

全局配置文件

一、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. 页面配置中常用的配置项


前言

        今天我们开始学习微信小程序中的全局配置,前面对微信小程序文件介绍的时候讲到过.json文件的基本作用和内容,那么本期的主角是.json文件,这个是作为微信小程序的全局配置文件,通过这个文件我们可以对微信小程序进行全局性的管理。

全局配置文件

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

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

前面我们对pages属性有了详细的介绍,那本期这里就不做讲解(相关链接:微信小程序-----账号注册以及开发软件的下载与代码结构介绍-CSDN博客)

一、window

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

2. window 节点常用的配置项

属性名

类型

默认值

说明

navigationBarTitleText

String

字符串

导航栏标题文字内容

navigationBarBackgroundColor

HexColor

#000000

导航栏背景颜色,如 #000000

navigationBarTextStyle

String

white

导航栏标题颜色,仅支持 black / white

backgroundColor

HexColor

#ffffff

窗口的背景色

backgroundTextStyle

String

dark

下拉 loading 的样式,仅支持 dark / light

enablePullDownRefresh

Boolean

false

是否全局开启下拉刷新

onReachBottomDistance

Number

50

页面上拉触底事件触发时距页面底部距离,单位为px

3. 设置导航栏的标题 

设置步骤:app.json -> window -> navigationBarTitleText

  "window": {"navigationBarTextStyle": "black","navigationBarTitleText": "kunkun","navigationBarBackgroundColor": "#fff"},

需求:把导航栏上的标题,从默认的 “WeChat”修改为“kunkun”,效果如图所示:

4. 设置导航栏的背景色

设置步骤:app.json -> window -> navigationBarBackgroundColor

  "window": {"navigationBarTextStyle": "black","navigationBarTitleText": "kunkun","navigationBarBackgroundColor": "#2b4b6b"},

需求:把导航栏标题的背景色,从默认的 #fff 修改为 #2b4b6b ,效果如图所示:

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

设置步骤:app.json -> window -> navigationBarTextStyle

 "window": {"navigationBarTextStyle": "white","navigationBarTitleText": "kunkun","navigationBarBackgroundColor": "#2b4b6b"},

需求:把导航栏上的标题颜色,从默认的 black 修改为 white ,效果如图所示:

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

概念:下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为。

设置步骤:app.json -> window -> enablePullDownRefresh 的值设置为 true

  "window": {"navigationBarTextStyle": "white","navigationBarTitleText": "kunkun","navigationBarBackgroundColor": "#2b4b6b","enablePullDownRefresh":true},

注意:在 app.json 中启用下拉刷新功能,会作用于每个小程序页面!

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

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

 "window": {"navigationBarTextStyle": "white","navigationBarTitleText": "kunkun","navigationBarBackgroundColor": "#2b4b6b","enablePullDownRefresh": true,"backgroundColor": "#efefef"},

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

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

  "window": {"navigationBarTextStyle": "white","navigationBarTitleText": "kunkun","navigationBarBackgroundColor": "#2b4b6b","enablePullDownRefresh": true,"backgroundColor": "#efefef","backgroundTextStyle":"dark"},

                         注意: backgroundTextStyle 的可选值只有 light 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 节点的配置项

属性

类型

必填

默认值

描述

position

String

bottom

tabBar 的位置,仅支持 bottom/top

borderStyle

String

black

tabBar 上边框的颜色,仅支持 black/white

color

HexColor

tab 上文字的默认(未选中)颜色

selectedColor

HexColor

tab 上的文字选中时的颜色

backgroundColor

HexColor

tabBar 的背景色

list

Array

tab 页签的列表,

最少 2 最多 5 tab

4. 每个 tab 项的配置选项

属性

类型

必填

描述

pagePath

String

页面路径,页面必须在 pages 中预先定义

text

String

tab 上显示的文字

iconPath

String

未选中时的图标路径;当 postion 为 top 时,不显示 icon

selectedIconPath

String

选中时的图标路径;当 postion 为 top 时,不显示 icon

 案例:配置 tabBar

步骤1 - 拷贝图标资源

把资料目录中的 images 文件夹, 拷贝到小程序项目根目录中
将需要用到的小图标分为 3 组,每组两个,其中:
  • 图片名称中包含 -active 的是选中之后的图标
  • 图片名称中不包含 -active 的是默认图标

        截图如下:

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

通过 app.json 文件的 pages 节点,快速新建 3 个对应的 tab 页面,示例代码如下:

步骤3 - 配置 tabBar 选项

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

app.json文件完整配置样式如下: 

{"pages": ["pages/test/test","pages/index/index","pages/logs/logs"],"window": {"navigationBarTextStyle": "white","navigationBarTitleText": "kunkun","navigationBarBackgroundColor": "#2b4b6b","enablePullDownRefresh": true,"backgroundColor": "#efefef","backgroundTextStyle":"dark"},"tabBar": {"list": [{"pagePath": "pages/test/test","text": "home","iconPath": "/image/home.png","selectedIconPath": "/image/home-active.png"},{"pagePath": "pages/index/index","text": "msg","iconPath": "/image/message.png","selectedIconPath": "/image/message-active.png"},{"pagePath": "pages/logs/logs","text": "logs","iconPath": "/image/contact.png","selectedIconPath": "/image/contact-active.png"}]},"style": "v2","componentFramework": "glass-easel","sitemapLocation": "sitemap.json","lazyCodeLoading": "requiredComponents"
}

这里我们就有三个界面,效果展示: 

 页面配置

        小程序中,每个页面都有自己的 .json 配置文件,用来对当前页面的窗口外观、页面效果等进行配置。

1.页面配置和全局配置的关系 

小程序中,app.json 中的 window 节点,可以全局配置小程序中每个页面的窗口表现

如果某些小程序页面想要拥有特殊的窗口表现,此时,“页面级别的 .json 配置文件”就可以实现这种需求。

注意:当页面配置与全局配置冲突时,根据就近原则,最终的效果以页面配置为准

这里,我们在test.json文件添加以下样式:

{"usingComponents": {},"navigationBarBackgroundColor": "#ff0000"
}

效果展示如下:

1705415544313


可以看出在上面全局配置的基础上,我修改了其中一个的页面配置,那么效果就会覆盖掉全局配置。

2. 页面配置中常用的配置项

页面配置项跟上面全局配置的配置项是一样的,如下表所示:

属性

类型

默认值

描述

navigationBarBackgroundColor

HexColor

#000000

当前页面导航栏背景颜色,如 #000000

navigationBarTextStyle

String

white

当前页面导航栏标题颜色,仅支持 black white

navigationBarTitleText

String

当前页面导航栏标题文字内容

backgroundColor

HexColor

#ffffff

当前页面窗口的背景色

backgroundTextStyle

String

dark

当前页面下拉 loading 的样式,仅支持 dark / light

enablePullDownRefresh

Boolean

false

是否为当前页面开启下拉刷新的效果

onReachBottomDistance

Number

50

页面上拉触底事件触发时距页面底部距离,单位为 px

 想要获取更多的学习资源,可以点击以下链接查看。 黑马程序员web前端视频教程从入门到精通Web前端视频教程完整版_Web前端视频教程从入门到精通_黑马程序员 (itheima.com)

 以上就是本期的全部内容了,我们下次见!

分享一张壁纸:

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黄金t+d与黄金期货交易的区别

在金融投资领域中,黄金是一种重要的避险工具和财富保值增值手段。对于投资者来说,了解并熟悉不同的黄金交易方式是至关重要的。其中,黄金TD和黄金期货交易是两种常见的黄金交易形式。那么,它们之间具体有哪些区别呢? 了…

User-Agent(用户代理)是什么?

User-Agent(用户代理)是什么? User-Agent 即用户代理,简称“UA”,它是一个特殊字符串头。网站服务器通过识别 “UA”来确定用户所使用的操作系统版本、CPU 类型、浏览器版本等信息。而网站服务器则通过判断 UA 来给客…

Redis主从+哨兵集群(基于CentOS-8.0)高可用部署方案

目录 一、环境描述 二、Redis 主从集群部署 2.1 Redis下载 2.2 Redis解压 和移动文件 2.4 编译、安装Redis 2.6 新建 bin 和 etc 文件夹 2.7 分发Redis 2.8 配置 2.8.1 主节点配置 2.8.2 从节点配置 2.9 启动Redis服务 2.10 验证主从服务 2.11 查看节点角色信息 2…

STM32 TIM输出比较、PWM波形

单片机学习! 目录 一、输出比较简介 二、PWM简介 三、输出比较通道 3.1通用定时器的输出比较部分电路 3.2高级定时器的输出比较部分电路 四、输出模式控制器 五、PWM基本结构 六、PWM参数计算 总结 前言 文章讲述STM32定时器的输出比较功能,它主…

GAMES104-现代游戏引擎:从入门到实践 - 物理引擎课程笔记汇总

文章目录 0 入门资料1 物理引擎基本概念Actor & shapesRigid body dynamicsCollision DetectionCollision Resolution 应用与实践Character controllerRagdoll 0 入门资料 GAMES104-现代游戏引擎:从入门到实践_课程视频_bilibiliGAMES104官方账号 - 知乎课程主页…

OceanBase基础概念

文章目录 基本概念介绍集群、Zone和OB ServerRootService总控服务多租户机制,资源隔离,数据隔离资源池创建租户检查集群状态查看系统日志 基本概念介绍 集群、Zone和OB Server 一个集群由多个Zone组成,给集群内的一批机器打上同一个tag&#…

综合评价 | 基于EW、EW-BP、EW-ELM的地区发展水平综合评价(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 综合评价 | 基于EW、EW-BP、EW-ELM的地区发展水平综合评价(Matlab) 程序设计 完整程序和数据获取方式:私信博主回复基于EW、EW-BP、EW-ELM的地区发展水平综合评价(Matl…

ZooKeeper 实战(五) Curator实现分布式锁

文章目录 ZooKeeper 实战(五) Curator实现分布式锁1.简介1.1.分布式锁概念1.2.Curator 分布式锁的实现方式1.3.分布式锁接口 2.准备工作3.分布式可重入锁3.1.锁对象3.2.非重入式抢占锁测试代码输出日志 3.3.重入式抢占锁测试代码输出日志 4.分布式非可重入锁4.1.锁对象4.2.重入…

【MySQL】数据处理之增删改

文章目录 一、增加(插入)INSERT INTO...VALUES(...,...)VALUES的方式添加情况一:为表的所有字段按默认顺序插入数据情况二:为表的指定字段插入数据情况三:同时插入多条记录 将查询结果插入到表中 二、修改(…

CTF CRYPTO 密码学-3

题目名称:反编译 题目描述: 分析 题目给出一个pyc后缀的文件,需要使用uncompyle6模块去还原成py文件 uncompyle6简介 uncompyle6 是一个 Python 反编译器,它能够将 Python 字节码(.pyc 文件)转换回源代码&…

数据结构之栈和队列

数据结构之栈和队列 1、栈1.1、栈的定义及基本运算1.2、栈的存储结构 2、队列2.1、队列的定义及基本运算2.2、队列的存储结构2.3、队列的应用 数据结构是程序设计的重要基础,它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从…

2024华数杯国际赛A题16页完整思路+五小问py代码数据集+后续高质量参考论文

这回带大家体验一下2024“华数杯”国际大学生数学建模竞赛呀! 完整内容获取在文末 此题涉及到放射性废水从日本排放到海洋中的扩散问题,以及对环境和人类健康的潜在影响。 ## 问题重述 1. **预测污染范围和程度:** - 使用数学模型描述放射性…

LeetCode 104. 二叉树的最大深度

104. 二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入&#xff1…

多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测

多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测效果一览基…

RabbitMQ交换机(1)

1.交换机Exchange RabbitMQ消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上,通常生产者甚至都不知道这些消息传递传递到了哪些队列中。 相反,生产者只能将消息发送到交换机(exchange),交换机工作的内容非常简单&am…

Python中如何简化if...else...语句

一、引言 我们通常在Python中采用if...else..语句对结果进行判断,根据条件来返回不同的结果,如下面的例子。这段代码是一个简单的Python代码片段,让用户输入姓名并将其赋值给变量user_input。我们能不能把这几行代码进行简化,优化…

【数据结构】红黑树

导语 之前平衡二叉树讲解中,可以了解到AVL在插入或删除频繁的场景,需要消耗大量的时间来调整,使树重新满足平衡条件。红黑树就此作出优化,在查询速率和平衡调整中寻找平衡,放宽了树的平衡条件,从而可以用于…

Java实现海南旅游景点推荐系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

YUM仓库和NFS共享

目录 一、yum仓库 1. yum仓库介绍 1.1 简介 1.2 实现过程 1.3 实现安装服务 2. yum配置文件及命令 2.1 yum配置文件 2.1.1 yum主配置文件 2.1.2 仓库设置文件 2.1.3 日志文件 2.2 yum命令详解 2.2.1 查询 2.2.2 yum安装升级 2.2.3 软件卸载 3. 搭建仓库的方式 …

使用 Categraf 采集 Nginx 指标

1. 前言 工作中需要监控 Nginx 的指标,选用的指标采集器是 Categraf,特此记录下,以备后用。 此文档并未详细记录详细的操作细节,只记录了大概的操作步骤,仅供参考。 2. 采集基础指标 2.1. 暴露 Nginx 自带的指标采…