首页 > 编程语言 >自定义支付宝小程序底部导航栏

自定义支付宝小程序底部导航栏

时间:2023-02-02 15:01:53浏览次数:51  
标签:支付宝 bar 自定义 bulge text tab 导航 232

自定义支付宝小程序底部导航栏

1. 在app.json tabBar 配置基础上新增"customize":true

2.在项目根目录下创建customize-tab-bar

3.编写代码,如下:

axml

<view class="tab-bar">
  <view a:for="{{list}}" a:key="index" class="tab-bar-item {{item.bulge?'bulge':''}}" data-path="{{item.pagePath}}" data-index="{{index}}"
    onTap="switchTab">
    <view a:if="item.bulge" class="tab-bar-bulge"></view>
    <image src="{{selected === index ? item.selectedIconPath : item.iconPath}}" class="icon"></image>
    <view a:if="{{item.text}}" style="color: {{selected === index ? selectedColor : color}}" class="text">{{item.text}}</view>
  </view>
</view>
acss.
tab-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 110rpx;
  background: #FFF;
  display: flex;
  box-shadow: 0px -4px 10px rgba(232, 232, 232, 0.95);
  /* padding-bottom: calc(env(safe-area-inset-bottom) /2); */
}

.tab-bar-item {
  flex: 1;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.tab-bar-item .icon {
  width: 46rpx;
  height: 46rpx;
}


.bulge {
  ">#FFF;
}

.bulge .tab-bar-bulge {
  position: absolute;
  z-index: -1;
  top: -60rpx;
  width: 135rpx;
  height: 135rpx;
  border-radius: 50%;
  ">#FFF;
  box-shadow: 0px -4px 10px rgba(232, 232, 232, 0.95);
}

.bulge .icon {
  position: absolute;
  width: 125rpx;
  height: 125rpx;
  top: -56rpx;
  padding: 5rpx;
}

.bulge .text {
  padding-top: 45rpx !important;
}

.tab-bar-item .text {
  font-size: 22rpx;
  padding-top: 8rpx;
  color: #333;
}
js
// 自定义导航
Component({
  data: {
    selected: 0,
    color: "#000",
    selectedColor: "#000",
    list: [{
      pagePath: "",
      iconPath: "",
      selectedIconPath: "",
      text: "首页"
    }, {
      pagePath: "",
      iconPath: "",
      selectedIconPath: "",
      text: "公益"
    }, {
      pagePath: "",
      iconPath: "",
      selectedIconPath: "",
      text: "",
      bulge: 'bulge'
    }, {
      pagePath: "",
      iconPath: "",
      selectedIconPath: "",
      text: "常见"
    }, {
      pagePath: "",
      iconPath: "",
      selectedIconPath: "",
      text: "我的"
    }]
  },

  attached() {},

  methods: {
    switchTab(e) {
      const data = e.currentTarget.dataset;
      const url = data.path;
      wx2my.switchTab({
        url
      });
      this.setData({
        selected: data.index
      });
    }
  }
});

注意事项

自定义 tabBar 默认 z-index:10000,若不满足项目实际场景可通过类名 a-customize-tab-bar 进行覆盖。

.a-customize-tab-bar{
  z-index:999;
}

感谢观看!!!

标签:支付宝,bar,自定义,bulge,text,tab,导航,232
From: https://www.cnblogs.com/qinlinmeng/p/17086020.html

相关文章

  • 直播商城系统源码,播放器aliPlayer自定义清晰度切换
    直播商城系统源码,播放器aliPlayer自定义清晰度切换 <!DOCTYPEhtml><html><head>  <metacharset="utf-8">  <metahttp-equiv="x-ua-compatible"content="IE=......
  • java中的自定义枚举类
    自定义枚举类有两种写法 第一种写法:classSeason{privateStringname;//在Season内部,直接创建固定的对象,//优化,可以加入final修饰符pub......
  • robotframe work中 自定义python library使用global variable
    在用robotframework的小伙伴,有没有遇到这样一个问题:  当你用python写一个libary时, 需要用到robotframe外面定义的globalvariable. 怎么处理?  这时一般人的做......
  • Blazor入门100天 : 身份验证和授权 (4) - 自定义字段
    目录建立默认带身份验证Blazor程序角色/组件/特性/过程逻辑DB改Sqlite将自定义字段添加到用户表脚手架拉取IDS文件,本地化资源freesql生成实体类,freesql管理......
  • VSCode 自定义代码片段
    Ctrl+Shift+P输入“代码片段:配置用户代码片段”:搜索你想要设置的语言代码片段,比如,我设置.vue文件的代码片段,选择vue.json:可以配置多个代码片段,一个片段通过一个pr......
  • flutter:安装使用自定义的字体(flutter 3.7.0)
    一,在flutter项目中引入字体文件在项目中创建存放字体的文件夹fonts,并把要使用到的字体文件复制到此文件夹下:如图:说明:刘宏缔的架构森林是一个专注架构的博客,地址:htt......
  • 使用element-ul实现描点导航
    功能为右侧描点导航,点击后内容滚动到指定位置,监听滚动条,右边描点导航高亮效果图:   组件封装PointTags<template><divclass="point-wrap"><el-tabsta......
  • 使用validation自定义注解
    第一步在pom中引入<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId><version......
  • 【Java】自定义mybatis
    处理sqlin多条件搜索时单引号双引号问题StringBuilderpidNoZeroIds=newStringBuilder();IntegernumTmp=0;for(ShequLsDatingTypepidNoZero:pidNoZeroLis......
  • cra react18 ts 自定义hooks 单元测试
    首先创建cra项目如果报错说最新的create-react-app版本是5.x,而你的是4.x的话需要先卸载,再重新安装sudonpmuninstall-gcreate-react-appsudonpminst......