国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信原生小程序自定義頂部導航

這篇具有很好參考價值的文章主要介紹了微信原生小程序自定義頂部導航。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

都2023了,自定義頂部導航應該不是什么新鮮事了,這里只是簡單記錄下
微信自己也提供了自定義頂部導航navigation-bar,大概看了下,可配置的也不少,所以看需求了,如果簡單可以采用微信提供的,老規(guī)矩,先看效果
微信小程序頂部欄,微信,小程序

1、補充幾個前置知識

  1. 狀態(tài)欄高度(getSystemInfoSync),就是手機頂部網(wǎng)絡那塊的高度
  2. 膠囊位置信息(getMenuButtonBoundingClientRect),右邊那個像膠囊一樣的東西,通過它我們可以知道高度,計算出右邊的padding
    微信小程序頂部欄,微信,小程序
    綜上可知,整導航欄的高度其實是 1 所在區(qū)域 = 狀態(tài)欄高度 + 膠囊高度 + ( 膠囊距離頂部 - 狀態(tài)欄高度 ) * 2

因為,膠囊和狀態(tài)欄之間還有一定間隙,所以完整的高度需要 膠囊距離頂部 - 狀態(tài)欄高度

2、實現(xiàn)

首先需要知道上面說的那幾個位置信息,思路分析

  1. 通常這些信息在小程序啟動的時候獲取一次就行了,所以我們需要做兩手準備,如果全局里面沒有,則導航組件再自己獲取一次
  2. 如果沒有獲取到,應該有默認值(這時候樣式肯定有不好看,不過沒辦法~)
  3. 頂部一般是定位固定的,所以用了導航組件后,應該有一個盒子用于占位補充定位導致塌陷的高度

3、完整代碼如下

js如下

// component/navBar/navBar.js
const app = getApp()
Component({
  /**
   * 組件的屬性列表
   */
  properties: {
    // 標題
    title: {
      type: String,
      value: ''
    },
    // 是否需要返回
    hasBack: {
      type: Boolean,
      value: false
    },
    // 背景色
    bgc: {
      type: String,
      value: 'linear-gradient(to top, #96fbc4 0%, #f9f586 100%)'
    },
    // 是否固定
    isFixed: {
      type: Boolean,
      value: true
    }
  },

  /**
   * 組件的初始數(shù)據(jù)
   */
  data: {
    navInfo: {
      paddingLeft: 0, 
      paddingTop: 0,
      navHeight: 0 
    },
  },
  /**
   * 生命周期鉤子
   * **/ 
  lifetimes: {
    created() {
      const { getSystemInfoSync, menuInfo} = app.globalData
      if(!Object.keys(getSystemInfoSync).length || !Object.keys(menuInfo).length) {
        console.warn('沒有膠囊位置信息,重新獲取中')
        this.customNavBarInfo()
      }
    },
    attached() {
      // 計算導航高度信息
      this.getNavBarInfo()
    }
  },
  /**
   * 組件的方法列表
   */
  methods: {
    /**
     * 計算導航高度信息
     * **/ 
    getNavBarInfo() {
      // 防止沒有獲取到位置信息
      let navInfo = {
        paddingLeft: 7, // 默認膠囊距離屏幕右邊的距離
        paddingTop: 20,// 默認
        navHeight: 44 // 默認導航欄高度
      }
      if(Object.keys(app.globalData.menuInfo).length && Object.keys(app.globalData.getSystemInfoSync).length) {
        const { top,height,right,width } = app.globalData.menuInfo
        const { statusBarHeight,windowWidth } = app.globalData.getSystemInfoSync
        navInfo = {
          paddingLeft: windowWidth - right, 
          paddingTop: statusBarHeight,
          navHeight: height + ( top - statusBarHeight ) * 2,
          menuWidth: width
        }
      }
      this.setData({
        navInfo
      })
    },
    /**
     * 獲取膠囊位置信息
     * **/ 
    customNavBarInfo() {
      app.globalData.menuInfo = wx.getMenuButtonBoundingClientRect()
      app.globalData.getSystemInfoSync = wx.getSystemInfoSync()
    },
  }
})

css如下

.nav{
  display: flex;
  align-items: center;
}
// 這是筆者寫一個寬度,需要根據(jù)自己情況調整
.left{
  width: 80rpx;
}
.custom-nav{
  z-index: 999;
  top: 0;
  right: 0;
  left: 0;
}

通常在app.js里面提前獲取一次文章來源地址http://www.zghlxwxcb.cn/news/detail-617287.html

App({
  onLaunch() {
    this.globalData.menuInfo = wx.getMenuButtonBoundingClientRect() || {}
    this.globalData.getSystemInfoSync = wx.getSystemInfoSync() || {}
  },
  globalData: {
    // 完整膠囊信息
    menuInfo: {},
    // 完整系統(tǒng)信息
    getSystemInfoSync: {},
  }
})

到了這里,關于微信原生小程序自定義頂部導航的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 微信小程序云開發(fā)之自定義頂部導航欄搜索框(非組件)

    微信小程序云開發(fā)之自定義頂部導航欄搜索框(非組件)

    提到微信小程序,就不得不提到它那磨人的頂部導航欄,真的有被丑到。身為強迫癥患者,筆者實在是難以忍受,好在官方提供了解決方案,但是對于初學者還是有一丟丟的難度,為了初學者不在重蹈筆者的老路,這篇文章就給大家分享一下如何做一個好看的自定義頂部導航

    2024年02月10日
    瀏覽(28)
  • uni-app微信小程序,APP都適用自定義頂部導航

    uni-app微信小程序,APP都適用自定義頂部導航

    *使用自定義的導航樣式,首先需要把原生的頂部的導航方式給隱藏掉(\\\"navigationStyle\\\": \\\"custom\\\") *手機頂部手機狀態(tài)欄的高度 *微信小程序中膠囊的位置信息存儲(使用store存儲) *由于微信小程序中帶有導航膠囊,所以需要根據(jù)膠囊去獲取一定的參數(shù)信息 在微信小程序中,我們只需要獲

    2024年02月06日
    瀏覽(91)
  • 微信小程序第一節(jié) —— 自定義頂部、底部導航欄以及獲取膠囊體位置信息。

    微信小程序第一節(jié) —— 自定義頂部、底部導航欄以及獲取膠囊體位置信息。

    dai ga hou??!我是 ?????? 是江迪呀 。我們在進行微信小程序開發(fā)時,常常需要自定義一些東西,比如 自定義頂部導航 、 自定義底部導航 等等。那么知道這些自定義內容的具體位置、以及如何適配不同的機型就變得尤為重要。下面讓我以在iPhone機型,來給大家介紹下 微信

    2024年02月02日
    瀏覽(37)
  • 微信小程序自定義頂部導航欄的膠囊和微信自帶的膠囊一樣的透明背景色

    微信小程序自定義頂部導航欄的膠囊和微信自帶的膠囊一樣的透明背景色

    想要實現(xiàn)微信自帶的右上角膠囊背景透明很簡單,只需要在pages.js里面設置下面配置就可以了: 但是設置完這個后,膠囊的背景色是那種黑色半透明的效果:(微信開發(fā)者工具和真機上顯示的效果不一致,要以真機為準) 手機端的效果:所以還是要以手機端為準 ? 左側的返

    2024年02月01日
    瀏覽(37)
  • uniapp使用Uview的Navbar自定義微信小程序頂部導航欄,滾動漸變透明效果;看完不會我下跪
  • 微信小程序自動獲取頂部導航欄高度

    微信小程序自動獲取頂部導航欄高度

    1、本人是通過uniapp開發(fā)的微信小程序,原生開發(fā)基本相同,首先在data里聲明變量 2、其次在onLoad生命周期中獲取當前手機的導航欄寬高數(shù)據(jù) 3、navHeight獲取的是當前手機型號的導航欄總高度;searchMarginTop獲取的是手機頂部到小程序膠囊的高度,也就是下圖黃色線框的高度;

    2024年02月11日
    瀏覽(34)
  • 【微信小程序】頭部導航欄背景鋪滿頂部

    【微信小程序】頭部導航欄背景鋪滿頂部

    背景:使用uniapp開發(fā)微信小程序 需求:需要微信小程序頂部導航欄使用頁面背景鋪滿頂部 我們可以利用 navigationStyle 屬性,來處理導航欄樣式,支持 default/custom,其中 custom 可自定義導航欄,只保留右上角膠囊狀的按鈕。 在pages.json 文件里,將globalStyle中新增或修改 navigatio

    2024年02月16日
    瀏覽(26)
  • H5+微信小程序中頂部導航設置:app-plus

    H5+微信小程序中頂部導航設置:app-plus

    首先uniapp代碼在微信小程序和App、H5之間有時候是不兼容的,例如正常通過app-plus設置頂部導航,H5端是合適的 目的效果展示的結果:如圖所示,我們需要實現(xiàn)這樣的效果 頂部沒有出現(xiàn)搜索的圖標和消息的圖標 https://uniapp.dcloud.net.cn/collocation/pages.html#app-titlenview-searchinput 如圖我

    2024年02月08日
    瀏覽(18)
  • 微信小程序怎么隱藏頂部導航欄(navigationBar)變透明的解決方案

    怎么隱藏小程序頂部導航欄(navigationBar)? 官網(wǎng)說: Navigation 是小程序的頂部導航組件,當頁面配置? navigationStyle ?設置為? custom ?的時候可以使用此組件替代原生導航欄。 那么,我們就知道這種效果是可以實現(xiàn)的,其實代碼實現(xiàn)也超級簡單,下面請看代碼配置: 一、全局

    2024年02月08日
    瀏覽(21)
  • 微信小程序首頁、界面布局、自定義頂部(示例一)

    微信小程序首頁、界面布局、自定義頂部(示例一)

    具體界面見下圖: 如需界面中引用的圖片文件和更多功能,請滑動至底部查看下載鏈接,可下載完整版,下載后直接使用微信開發(fā)者工具打開即可,完整版功能更詳細呦。當前界面的布局樣式代碼如下(如存在不足之處,請根據(jù)具體需求,自行修改): 1、js代碼: 2、wxml代

    2024年02月12日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包