zoukankan      html  css  js  c++  java
  • 微信小程序自定义tabBar机型适配,不用写脚本

    微信小程序可以通过在app.json文件中定义官方的tabBar,但是实际项目中往往会遇到一些业务需求官方的tabBar无法做到。比如说底部的tabBar个数是根据不同角色来显示,这个时候我们需要自定义tabBar。在自定义tabBar的时候了会遇到不同机型底部适配问题(比如iphoneX,Iphone 11Pro ,一些齐刘海机型底部安全区域问题),一开始我想到的是用脚本判断设备机型,通过是不是齐刘海来给底部tabBar预留64rpx的距离。

    wx.getSystemInfo({
          success: res => {
            let { screenWidth, screenHeight } = res
            console.log("设备信息:",res)
            // iphoneX 、11、Xr、 Max等设备分辨率
            let _screen = [
              {w: 375, h: 812 },
              {w: 414, h: 896 }
            ]
            that.globalData.isIphoneX  = _screen.some(item => item.w === screenWidth && item.h === screenHeight)
            console.log("isIphoneX设备:", that.globalData.isIphoneX )
          }
        })

    刚好最近一个小程序项目上线了,恰巧又碰到iphone 12新手机上市,客户那边反应iphone 12 Pro上底部tabBar显示有遮挡。不用想我就知道肯定是新产品iphone12,iphone 12 pro的设备分辨率不在对比的数据列表内,所以我就在想如果后面又有新的机型出现怎么办?所以上面的代码通用性不是很强。就在网上百度查看到可以通过css直接设置安全区域底部来解决,只需在包裹tabBar的元素(class:tabbar_wrapper)上加一行代码解决即可。

    .tabbar_wrapper{
       padding-bottom:calc(100rpx + env(safe-area-inset-bottom))  
    }

    env(safe-area-inset-bottom) 参考链接:https://blog.csdn.net/sd19871122/article/details/80989704

  • 相关阅读:
    Selenium with Python 003
    测试计划编写要点
    【springboot】给你一份Spring Boot知识清单
    【小技巧】排名前 16 的 Java 工具类!
    【linux】tail 命令详解
    【linux】less 命令详解
    【小技巧】java的List分页
    【springboot】自动装配原理
    【springcloud】springcloud Greenwich SR4版本笔记
    【转】springcloud底层原理
  • 原文地址:https://www.cnblogs.com/junechen/p/14142338.html
Copyright © 2011-2022 走看看