微信小程序之底部导航栏——tabBar

微信的开发文档里有,很多人也写了,自己写一遍,加深印象罢!

在学习Android的时候,被模仿一个app的界面,实现其UI。而一般来说,总是避免不了导航栏的。

比较大众化的,就是底部导航栏啦,而实现的方式也是非常的多,如:Fragment+ViewPage Or 来一个RadioGroup Or 以前的TabHost 等~

效果,是一样或差不多的,而实现手法,是五花八门特色鲜明的!

在微信小程序中,可以说是,一统江山了吧,扔出了一个tabBar~

emmm..没错,你需要做的是:找一个漂亮的图片,给一个导航名,然后选个好看的颜色,再一一对应即可。

就好比,之前学习Android的时候,学的是手动挡的车。现在接触微信小程序,就好比开着自动挡的车~


那效果是怎么样的呢?


先建两个目录,待会我们跳转用!

在app.json中,别忘了要添加目录!


好,干正事!

"tabBar": {
    "list": [{
      "pagePath": "pagePath",
      "text": "text",
      "iconPath": "iconPath",
      "selectedIconPath": "selectedIconPath"
    }]
  }


emmm...这里“list”里,现在只有一个标签的内容,我们来三个吧!

差点忘了我们要放图标~那怎么把图片放进来呢?

 在目录里建立文件夹,然后放入图片,开发工具就会自动更新了,关于图标,可以直接去网上搜 阿里巴巴图标库 ,丰富的图标供你下载!



补全代码:

  "tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "微笑",
      "iconPath": "pages/index/img/Smile.png",
      "selectedIconPath": "pages/index/img/Smile_select.png"
    },
    {
      "pagePath": "pages/tabOne/tabOne",
      "text": "购物车",
      "iconPath": "pages/index/img/cart.png",
      "selectedIconPath": "pages/index/img/cart_select.png"
    },
    {
      "pagePath": "pages/tabTwo/tabTwo",
      "text": "所有",
      "iconPath": "pages/index/img/all.png",
      "selectedIconPath": "pages/index/img/all_select.png"
    }]
  }
正如刚刚的图:

不过好像字木有变化哦!

还要添加一行代码!

就完成啦!


即使是自动挡的车,那不仅仅要会打方向、踩油门,还要了解每个按钮的作用,这样开起车来,才更得心应手!



“菜是原罪!”

学习,需要再加把劲!



### 实现微信小程序底部导航栏微信小程序中创建并配置底部导航栏主要通过`app.json`文件来完成。此文件用于设定应用的全局配置,包括窗口表现、网络超时时间以及底部 `tabBar` 的设置[^1]。 #### 配置 app.json 文件 为了启用底部导航栏,需向`app.json`添加如下字段: ```json { "pages": [ "pages/index/index", "pages/logs/logs" ], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle": "black" }, "tabBar": { "list": [{ "pagePath": "pages/index/index", "text": "首页", "iconPath": "./images/home.png", "selectedIconPath": "./images/home-active.png" }, { "pagePath": "pages/logs/logs", "text": "日志", "iconPath": "./images/log.png", "selectedIconPath": "./images/log-active.png" }] } } ``` 上述 JSON 片段展示了如何指定两个页面作为 tabBar 中的项,并指定了每个项目的图标路径及其选中状态下的图标路径。 #### 设置页面链接与样式调整 对于每一个被列为 tabBar 页面的入口,其对应的`.wxss`文件可以用来定制该页面的独特外观。如果希望当某个 tab 被激活时更改文字颜色或其他属性,则可以在相应的 WXML 和 WXSS 文件里定义特定的选择器和样式规则[^2]。 例如,在 CSS 文件中可以通过 `.active` 类名控制活动状态下元素的表现形式: ```css /* pages/index/index.wxss */ .active { color: red; } .tab-bar-item { flex-grow: 1; text-align: center; } ``` 同时,在关联的小程序页面逻辑层(即 JS 文件)内处理点击事件以触发样式的动态变更也是常见的做法之一。这通常涉及到使用框架提供的 API 或者自定义函数来进行交互操作。 #### 动态更新 tabBar 数字角标 有时开发者可能还需要让 tabBar 上显示一些额外的信息,比如未读消息数等。这时就可以利用 Weixin Mini Program 提供的相关接口——`wx.setTabBarItem()` 来实现实时的数据同步[^4]。 下面是一个简单的例子说明怎样调用这个方法给第三个 tab 添加一个红色圆圈内的数字提示: ```javascript // 假设这是在一个合适的时机被执行的方法体内部 const count = getUnreadMessageCount(); // 获取未读消息的数量 if (count > 0) { wx.setTabBarItem({ index: 2, badgeText: String(count), }); } else { wx.removeTabBarBadge({index: 2}); } ``` 这段 JavaScript 代码片段演示了根据实际业务逻辑计算得出的消息计数,并据此决定是否要在 tabBar 显示徽章通知。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值