当前位置:   article > 正文

(二)小程序的TabBar_小程序下方按钮

小程序下方按钮

什么是TabBar?

小程序的tabbar是指小程序底部的一组固定导航按钮,通常包含3-5个按钮,用于快速切换小程序的不同页面。每个按钮都有一个图标和文本标签,点击按钮可以切换到对应的页面。tabbar通常放置在小程序的底部,以便用户随时查看和使用。tabbar可以通过小程序开发工具或代码进行设置和自定义,例如更改按钮图标和文本、调整按钮排列顺序和样式等。小程序的 tabbar 可以使用 tabBar 属性来定义,需要在 app.json 文件中进行配置。以下是一个简单的示例:

  1. {
  2. "tabBar": {
  3. "list": [
  4. {
  5. "pagePath": "pages/index/index",
  6. "text": "首页",
  7. "iconPath": "images/tabbar/home.png",
  8. "selectedIconPath": "images/tabbar/home_active.png"
  9. },
  10. {
  11. "pagePath": "pages/profile/profile",
  12. "text": "我的",
  13. "iconPath": "images/tabbar/profile.png",
  14. "selectedIconPath": "images/tabbar/profile_active.png"
  15. }
  16. ]
  17. }
  18. }

在上述示例中,我们定义了一个包含三个按钮的 tabbar,分别对应小程序的三个页面。每个按钮包含以下属性:1.pagePath:页面路径;2.text:按钮文字;3.iconPath:默认状态下的图标路径;4.selectedIconPath:选中状态下的图标路径。小程序的 tabbar 还支持其他配置,例如设置选中时的背景色、文字颜色等。使用 tabbar 可以使小程序的页面之间更加便捷、快速地切换,并提高用户的使用体验。(tabBar中 只能配置最少 2 个、最多 5 个 tab 页签)

自定义TabBar

微信小程序提供了自带的 Tabbar,但是其样式和功能都是固定的,无法满足一些特定需求。因此,我们可以通过自定义 Tabbar 来实现更加灵活的页面导航效果。实现自定义 Tabbar 的主要步骤如下:

微信小程序提供了自带的 Tabbar,但是其样式和功能都是固定的,无法满足一些特定需求。因此,我们可以通过自定义 Tabbar 来实现更加灵活的页面导航效果。

实现自定义 Tabbar 的主要步骤如下:

  1. 在 app.json 文件中设置 custom 为 true,表示使用自定义 Tabbar。

  1. 在 app.js 文件中监听 tabBarswitchTab 事件

  1. 在自定义 Tabbar 组件中监听 Tabbar 的点击事件,并触发 switchTab 事件

Tabbar样式
代码实现
  1. // index.js
  2. Page({
  3. data: {
  4. active: 1,
  5. Tab: [{
  6. Name: '主页',
  7. unimg: '/image/index2.png',
  8. img: '/image/index1.png'
  9. },
  10. {
  11. Name: '发现',
  12. unimg: '/image/cama2.png',
  13. img: '/image/cama1.png',
  14. },
  15. {
  16. Name: '我的',
  17. unimg: '/image/mine2.png',
  18. img: '/image/mine1.png'
  19. }
  20. ]
  21. },
  22. //生命周期函数
  23. onLoad: function () {
  24. },
  25. Getactive(e) {
  26. var id = e.currentTarget.dataset.id
  27. this.setData({
  28. active: id
  29. })
  30. }
  31. })
  1. {
  2. "usingComponents": {}
  3. }
  1. <view class="Tab_box">
  2. <block wx:for="{{Tab}}" wx:key="index">
  3. <view class="taber center">
  4. <view catchtap="Getactive" data-id="{{index}}" class="center {{index==(active)?'active':'unuse'}}">
  5. <image class="img" src="{{index==(active)?(item.unimg):(item.img)}}"/>
  6. <view class="text">{{index==(active)?(item.Name):('')}}</view>
  7. </view>
  8. </view>
  9. </block>
  10. </view>
  1. .Tab_box {
  2. position: fixed;
  3. width: 100%;
  4. height: 160rpx;
  5. bottom: 0rpx;
  6. background-color: #79b7ff;
  7. }
  8. .center {
  9. display: flex;
  10. justify-content: center;
  11. align-items: center;
  12. flex-direction: row;
  13. }
  14. .taber {
  15. float: left;
  16. width: 33.3%;
  17. height: 80px;
  18. box-sizing: border-box;
  19. }
  20. .active {
  21. width: 100px;
  22. height: 40px;
  23. border-radius: 20px;
  24. background-color: #ffffff;
  25. transition: 0.5s;
  26. }
  27. .unuse {
  28. display: -webkit-flex;
  29. flex-direction: row;
  30. display: flex;
  31. justify-content: center;
  32. align-items: center;
  33. color: #72aef3;
  34. }
  35. .img {
  36. width: 30px;
  37. height: 30px;
  38. }
  39. .text {
  40. font-size: 0.9rem;
  41. margin-left: 7.5px;
  42. color: #979797;
  43. }

有更多兴趣欢迎关注微信公众号:兴趣学习社

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/117118
推荐阅读
相关标签
  

闽ICP备14008679号