微信客户端7.0.0 - 新增 框架 支持页面级自定义导航配置 navigationStyle: custom。javascript
基础版本库 v1.9.5 (2018.01.24), 新增 配置 window.navigationStyle 支持全屏显示小程序 详情css
目前支持全局的配置和单个页面的配置两种:html
"navigationStyle": "custom"
复制代码
微信小程序提供的API前端
注意咱们可以拿到的数值单位是
px
不是rpx
。【以后我也写一篇专门探究小程序单位】java
wx.getSystemInfo({ success: (res) => { // iphone6.statusBarHeight = 20 this.globalData.statusBarHeight = res.statusBarHeight; let custom = wx.getMenuButtonBoundingClientRect(); this.globalData.custom = wx.getMenuButtonBoundingClientRect(); this.globalData.Custom = custom; this.globalData.CustomBar = custom.bottom + custom.top - res.statusBarHeight; // 另外一种计算方式 this.globalData.CustomBar =custom.height + ( custom.top - res.statusBarHeight) * 2; } }) 复制代码
let custom = wx.getMenuButtonBoundingClientRect(); 复制代码
咱们用iphoneX的模拟器为例子,由于iphoneX的信息导航栏比较高与别的不一样,咱们从特殊的更加明显。web
<view class="bg" style="height:{{statusBarHeight}}px"></view> <view class='jiaonang' style='margin-top:{{custom.top - statusBarHeight}}px; height:{{custom.height}}px'> </view> 复制代码
let app = getApp(); Page({ data: { statusBarHeight: app.globalData.statusBarHeight, StatusBar: app.globalData.StatusBar, CustomBar: app.globalData.CustomBar, custom: app.globalData.custom } }) 复制代码
.bg { width: 100%; height: 50rpx; background: teal; } .jiaonang { width: 100%; background: red; } 复制代码
iphoneX 的效果 json
iphone6 的效果小程序
安卓Nexus5x 的效果 微信小程序
平板iPad Air 2 的效果 微信
ipad Pro 12.9-inch 的效果
不一样机型的适配一直是前端的最严重的问题,小程序对适配问题提出了rpx的方案。 可是对于自定义导航栏,咱们彷佛用不到的自定义导航栏!
客户端
6.7.2
版本开始,navigationStyle: custom
对<web-view>
组件无效。