小程序刘海屏适配及兼容全面屏底部横条(indicator)

举报
薛定喵君 发表于 2021/06/03 23:24:13 2021/06/03
【摘要】 小程序适配iPhone刘海屏及indicator的方法 本文适用于未自定义导航&吸底按钮(底部按钮fixed)的情况 # 判断设备 判断方法->wx.getSystemInfo(OBJECT)返回的信息 model是否包含 iPhone XscreenHeight是否等于 812 # 代码 主要js代码 //app.jsAp...

小程序适配iPhone刘海屏及indicator的方法

本文适用于未自定义导航&吸底按钮(底部按钮fixed)的情况

# 判断设备

判断方法->wx.getSystemInfo(OBJECT)返回的信息

  • model是否包含 iPhone X
  • screenHeight是否等于 812

# 代码

主要js代码


    
  1. //app.js
  2. App({
  3. // 全局数据
  4. globalData: {
  5. isIPX: false
  6. },
  7. onLaunch: function (options) {
  8. // 判断设备是否为 iPhone X
  9. this.checkIsIPhoneX()
  10. },
  11. checkIsIPhoneX: function() {
  12. const self = this
  13. wx.getSystemInfo({
  14. success: function (res) {
  15. // 根据 model 进行判断
  16. if (res.model.search('iPhone X') != -1) {
  17. self.globalData.isIPX = true
  18. }
  19. // 根据 screenHeight 进行判断
  20. // if (res.screenHeight == 812) {
  21. // self.globalData.isIPX = true
  22. // }
  23. }
  24. })
  25. }
  26. })
  27. //页面js
  28. const app = getApp()
  29. Page({
  30. data: {
  31. // 页面其他数据...
  32. isIPX: app.globalData.isIPX,
  33. },
  34. ...
  35. })

样式
可以写在全局样式文件app.wxss中


    
  1. .bottom-btn {
  2. position: fixed;
  3. bottom: 0;
  4. width: 100%;
  5. height: 120rpx;
  6. line-height: 120rpx;
  7. background: #fff;
  8. text-align: center;
  9. box-shadow: 0 -4rpx 4rpx 0 rgba(0, 0, 0, 0.05);
  10. }
  11. .bottom-btn-ipx {
  12. padding-bottom: 68rpx;
  13. }

页面wxml


    
  1. <view class="bottom-btn {{isIPX ? 'bottom-btn-ipx' : ''}}">
  2. <view class="join-course" bindtap="joinCourse" data-curriculum_id="{{periodical_id}}">
  3. {{text}}
  4. </view>
  5. </view>

# 参考资料

iPhone手机设备内部代号参考deviceMode

文章来源: blog.csdn.net,作者:薛定喵君,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jsxg2009/article/details/115244481

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。