内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

詳解mpvue中小程序自定義導(dǎo)航組件開(kāi)發(fā)指南

這篇筆記主要記錄一下基于mpvue的小程序中實(shí)現(xiàn)自定義導(dǎo)航的思路及應(yīng)用。分享出來(lái)拋磚引玉,如有謬誤或優(yōu)化空間,歡迎交流。

為順河等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及順河網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、網(wǎng)站制作、順河網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

小程序的配置項(xiàng)navigationStyle設(shè)置為custom之后,導(dǎo)航欄只保留右上角膠囊按鈕,顏色、標(biāo)題文字內(nèi)容均可以自定義,可以此實(shí)現(xiàn)導(dǎo)航欄的個(gè)性化需求,實(shí)際應(yīng)用如沉浸式視頻播放頁(yè)等。

詳解mpvue中小程序自定義導(dǎo)航組件開(kāi)發(fā)指南

小程序7.0.0之后的版本開(kāi)始支持自定義單個(gè)頁(yè)面的導(dǎo)航欄,將頁(yè)面的navigationStyle設(shè)置為custom即可。mpvue的配置方式如下:

詳解mpvue中小程序自定義導(dǎo)航組件開(kāi)發(fā)指南

由于不同操作系統(tǒng)、不同機(jī)型的導(dǎo)航欄高度是不同的,所以自定義導(dǎo)航欄核心要解決的問(wèn)題是不同機(jī)型中導(dǎo)航欄高度的兼容問(wèn)題。

詳解mpvue中小程序自定義導(dǎo)航組件開(kāi)發(fā)指南

如上圖所示,導(dǎo)航欄一共由兩部分組成:狀態(tài)欄和標(biāo)題欄。狀態(tài)欄就是用來(lái)展示時(shí)間、網(wǎng)絡(luò)狀態(tài)的那一欄,全面屏(劉海屏幕)的機(jī)型中狀態(tài)欄會(huì)比其他屏幕高很多:ios系統(tǒng)帶劉海屏的都是44,其他都為20,包括pad。 而安卓機(jī)的數(shù)值則更多。我們可以通過(guò)微信的apiwx.getSystemInfo獲取狀態(tài)欄的高度(statusBarHeight)。而標(biāo)題欄高度不能通過(guò)小程序api獲取到,通過(guò)同級(jí)多個(gè)機(jī)型的測(cè)試數(shù)據(jù),我們基本可以按照ios中44px安卓中48px來(lái)算。
這樣一來(lái)就好辦了,通過(guò)statusBarHeight獲取到狀態(tài)欄高度后,再判斷當(dāng)前的系統(tǒng)加上對(duì)應(yīng)的標(biāo)題欄后,就可以獲取到正確的導(dǎo)航欄高度了。

template中的html代:(因?yàn)樾〕绦蛑械膙ideo組件有著最高的層級(jí),是不會(huì)被普通html標(biāo)簽覆蓋的,所以導(dǎo)航欄組件中全部采用了<cover-view>標(biāo)簽。):

<template>
  <div class="comp-navbar">
    <!-- 占位欄 -->
    <cover-view class="placeholder-bar" :> </cover-view>
    <!-- 導(dǎo)航欄主體 -->
    <cover-view class="navbar" :>
      <!-- 狀態(tài)欄 -->
      <cover-view class="nav-statusbar" :></cover-view>
      <!-- 標(biāo)題欄 -->
      <cover-view class="nav-titlebar" :>
        <!-- home及后退鍵 -->
        <cover-view class="bar-options">
          <cover-view v-if="backVisible" class="opt opt-back" @click="backClick()">
          <cover-image class="back-image" src="/static/images/back.png"></cover-image>
          </cover-view>
          <cover-view class="line" v-if="backVisible && homePath"></cover-view>
          <cover-view v-if="homePath" class="opt opt-home" @click="homeClick()">
          <cover-image class="home-image" src="/static/images/home.png"></cover-image>
          </cover-view>
        </cover-view>
        <!-- 標(biāo)題 -->
        <cover-view class="bar-title" :>{{title}}</cover-view>
      </cover-view>
    </cover-view>
  </div>
</template>

js代碼:

  beforeMount() {
    const self = this;
    wx.getSystemInfo({
      success(system) {
        console.log(`system:`, system);
        self.statusBarHeight = system.statusBarHeight;
        self.platform = system.platform;

        let platformReg = /ios/i;
        if (platformReg.test(system.platform)) {
          self.titleBarHeight = 44;
        } else {
          self.titleBarHeight = 48;
        }

        self.navBarHeight = self.statusBarHeight + self.titleBarHeight;
      }
    });
  },

自定義導(dǎo)航欄的可自定義內(nèi)容:標(biāo)題文字、文字顏色、標(biāo)題欄背景色、回退按鈕是否顯示、home按鈕的地址。示例代碼如下:

<navigation-bar :title="videoTitle"
  :navBackgroundColor="'pink'"
  :titleColor="'green'"
  :back-visible="true"
  :home-path="'/pages/index/main'"></navigation-bar>

最后奉上github地址,歡迎檢閱代碼,歡迎star。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

標(biāo)題名稱:詳解mpvue中小程序自定義導(dǎo)航組件開(kāi)發(fā)指南
文章來(lái)源:http://www.rwnh.cn/article16/jsdddg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航動(dòng)態(tài)網(wǎng)站、、服務(wù)器托管定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
保定市| 汉沽区| 漠河县| 比如县| 霍邱县| 来凤县| 吉安县| 舟曲县| 平顶山市| 大渡口区| 清徐县| 都匀市| 湘西| 洛南县| 绩溪县| 孝义市| 吴江市| 隆德县| 兴安盟| 黔东| 慈利县| 同仁县| 金堂县| 萨迦县| 克东县| 瓦房店市| 桃江县| 噶尔县| 吉安县| 游戏| 西乡县| 荔浦县| 连山| 隆尧县| 中江县| 朔州市| 额尔古纳市| 沐川县| 都昌县| 治多县| 沂水县|