小程序,全局配置-案例:配置 tabBar(一)

全局配置-案例:配置 tabBar

本案例将在小程序中实现底部tabBar,包含三个tab:首页、消息、联系我们。根据需求,我们将使用提供的小图标资源来配置tabBar,选中后图标变亮。下面详细介绍三个步骤。

1.步骤1- 拷贝图标资源

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

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

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

{
  "pages": [
    "pages/home/home",
    "pages/message/message",
    "pages/contact/contact"
  ],
  "window": {...},
  "tabBar": {...}
}

其中,“pages/home/home” 是首页,“pages/message/message” 是消息页面,“pages/contact/contact” 是联系我们页面。

3.步骤3-配置 tabBar 选项

① 打开 app.json 配置文件,并在 pages、window 平级下新增 tabBar 节点。

② tabBar 节点中,新增 list 数组,这个数组中存放的,是每个 tab 项的配置对象。

③ 在 list 数组中,新增每一个 tab 项的配置对象。对象中包含的属性如下:

  • pagePath 指定当前 tab 对应的页面路径【必填】
  • text 指定当前 tab 上按钮的文字【必填】
  • iconPath 指定当前 tab 未选中时的图片路径【可选】
  • selectedIconPath 指定当前 tab 被选中后高亮的图片路径【可选】

示例代码如下:

"tabBar":{
    "position": "bottom",
    "borderStyle": "black",
    "backgroundColor": "#ffffff",
    "color": "#999999",
    "selectedColor": "#007aff",
    "list": [
      {
        "pagePath": "pages/home/home",
        "text":"首页",
        "iconPath": "/images/tabs/home.png",
        "selectedIconPath": "/images/tabs/home-active.png"
      },
      {
        "pagePath": "pages/message/message",
        "text": "消息",
        "iconPath": "/images/tabs/message.png",
        "selectedIconPath": "/images/tabs/message-active.png"
      },
      {
        "pagePath": "pages/contact/contact",
        "text":"联系我们",
        "iconPath": "/images/tabs/contact.png",
        "selectedIconPath": "/images/tabs/contact-active.png"
      }
    ]
  }

其中,list 数组中存放的是三个 tab 项的配置信息。配置项包括每个 tab 对应的页面路径(pagePath)、显示的文字(text)、未选中图标的路径(iconPath)和选中后高亮图标的路径(selectedIconPath)。

需要注意的是,tabBar 中只能配置最少 2 个、最多 5 个 tab 页签。当渲染顶部 tabBar 时,不显示图标,只显示文本。

在页面中使用 tabBar 时,会自动根据 app.json 中的配置信息生成对应的 tab bar,实现页面之间的快速切换,提高了用户体验。

运行效果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值