小程序全面屏底部按钮适配

38 篇文章 2 订阅
27 篇文章 0 订阅
如果你的小程序页面按钮有用fixed定位到底部的话,那你一定会遇到兼容全面屏的坑(与底部横条重叠)。查了下文档,发现能用的就只有一个api:

wx.getSystemInfoSync()wx.getSystemInfoSync()



​

封装一个全局的函数

代码如下:

app.js

onLaunch: function (e) {

    // 判断设备是否为全面屏

    this.checkFullSucreen()

  },

globalData: {

    isFullSucreen: false, // 当前设备是否为 FullSucreen

  },

checkFullSucreen: function () {

    const self = this

    wx.getSystemInfo({

      success: function (res) {

        console.log(res)

        // 根据 屏幕高度 进行判断

        if (res.screenHeight - res.windowHeight - res.statusBarHeight - 32 > 72) {

          self.globalData.isFullSucreen = true

        }



      }

    })

  },

由华为M20  M9和 iPhoneX XR  (res.statusBarHeight)的平均值得出: 

32(31.8四舍五入)则是小程序顶部title区域高度
由华为M20  M9和 iPhoneX XR  (res.screenHeight - res.windowHeight - res.statusBarHeight - 32 )的平均值得出: 

76(75.6四舍五入)则是判断微信对应全面屏的适配tab底部高度
在所需页面调用

data{

isFullSucreen: app.globalData.isFullSucreen ? true : false //判断机型

}



<view class="bottom-btn {{isFullSucreen?'fix-Full-button':''}}"></view>



.bottom-btn {

  position: fixed;

  left: 0;

  bottom: 0;

  z-index: 1000;

  width: 750rpx;

  height: 100rpx;

  display: flex;

  background: #fff;

}

.fix-Full-button {

    bottom:68rpx!important;

}

.fix-Full-button::after {

    content: ' ';

    position: fixed;

    bottom: 0!important;

    height: 68rpx!important;

    width: 100%;

    background: #fff;

}

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值