微信小程序自定義頭部

實現(xiàn)方式:

1.在小程序的app.json中或者是頁面的page.json中添加如下代碼,此代碼為該小程序或頁面使用自定義頭部:

"navigationStyle": "custom"

2.在app.js中根據(jù)wx.getSystemInfo()方法獲取一下設(shè)備情況并將狀態(tài)欄高度設(shè)置為全局變量,因為不同的設(shè)備狀態(tài)欄高度可不同(返回的狀態(tài)欄高度單位為px)。獲取高度代碼如下:

//獲取手機(jī)設(shè)備情況
wx.getSystemInfo({
      success: (res) => {
        this.globalData.headHeight = res.statusBarHeight
      }
    })

3.根據(jù)wx.getMenuButtonBoundingClientRect()方法獲取一下獲取菜單按鈕(右上角膠囊按鈕)的布局位置信息;

// 獲取膠囊坐標(biāo)位置
    const res = wx.getMenuButtonBoundingClientRect()
    this.globalData.menuInfoTop = res.top
    this.globalData.menuInfoBottom = res.bottom

上述三個參數(shù)對應(yīng)到頁面上的位置高度如下圖:

示例圖片

紅色:設(shè)備狀態(tài)欄高度;
綠色(含紅色部分):膠囊距離上邊界坐標(biāo);
粉色(含紅色及綠色部分):膠囊距離下邊界坐標(biāo);

目前對自定義頭部高度的設(shè)置使用中,用下邊界+上邊界-狀態(tài)欄高度(即menuInfoBottom +menuInfoTop -headHeight )是一個比較合適的頭部高度,文字內(nèi)容的行高為下邊界+上邊界(即menuInfoBottom +menuInfoTop)。如果業(yè)務(wù)需求不同,也可根據(jù)上述三個參數(shù)進(jìn)行調(diào)整使用。

注意:iOS/Android客戶端7.0.0以下版本,navigationStyle只在app.json中生效。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容