微信客戶端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>
組件無效。