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

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

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序第一節(jié) —— 自定義頂部、底部導(dǎo)航欄以及獲取膠囊體位置信息。。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、前言

dai ga hou??!我是 ??????是江迪呀。我們?cè)谶M(jìn)行微信小程序開(kāi)發(fā)時(shí),常常需要自定義一些東西,比如自定義頂部導(dǎo)航、自定義底部導(dǎo)航等等。那么知道這些自定義內(nèi)容的具體位置、以及如何適配不同的機(jī)型就變得尤為重要。下面讓我以在iPhone機(jī)型,來(lái)給大家介紹下微信小程序如何獲取自定義內(nèi)容的位置信息。

二、開(kāi)啟自定義

如果需要自定義頂部和底部導(dǎo)航。那么如何在自定義后能夠適配不同的機(jī)型而不會(huì)出現(xiàn)樣式問(wèn)題呢?我們可以通過(guò)wx.getSystemInfo({})方法來(lái)獲取頁(yè)面的信息來(lái)保證樣式的正確性。此方法常用于app.js文件中的onLanch()方法中,保證這些信息優(yōu)先被加載,并把獲取到的頁(yè)面信息放到全局變量中,方便其他頁(yè)面的獲取使用。

在此之前需要開(kāi)啟自定義頂部和底部導(dǎo)航欄。如下所示:

{
  "pages": [
    "pages/index/index",
    "pages/index2/index2" 
  ],
  //自定義頂部導(dǎo)航 "navigationStyle": "custom",
  "window": {
    "navigationStyle": "custom",
    "navigationBarTextStyle": "white",
    "backgroundTextStyle": "light"
  },
  //自定義底部導(dǎo)航 "navigationStyle": "custom",這里注意在設(shè)置自定義底部導(dǎo)航欄時(shí),list中至少包含兩個(gè)頁(yè)面
  "tabBar": {
    "custom": true,
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首頁(yè)"
      },
      {
        "pagePath": "pages/index2/index2",
        "text": "首頁(yè)2"
      }
    ]
  },
  "style": "v2",
  "sitemapLocation": "sitemap.json"
}

2.1 整個(gè)頁(yè)面

1.位置

小程序全局自定義頂部,微信小程序,微信小程序,小程序,javascript

2.如何獲取

頁(yè)面代碼:

<view style="height: {{screenHeight}}px;background-color: aliceblue;">
</view>

頁(yè)面js代碼:

const app = getApp()
Page({
  data: {
    screenHeight: app.globalData.screenHeight,
  }
})

app.js文件代碼:


    onLaunch: function() {
        wx.getSystemInfo({
            success: e => {
            	//獲取整個(gè)頁(yè)面的高度
                this.globalData.screenHeight = e.screenHeight;
              }
             },
        )}

2.1 狀態(tài)欄

1.位置

狀態(tài)欄就是手機(jī)最頂部顯示時(shí)間、信號(hào)、電量等信息的區(qū)域。一般狀態(tài)欄的信息我們不單獨(dú)獲取設(shè)置,因?yàn)?strong>頂部導(dǎo)航欄包含了狀態(tài)欄。
小程序全局自定義頂部,微信小程序,微信小程序,小程序,javascript

2.如何獲取

頁(yè)面代碼:

<!--index.wxml-->
<view style="height: {{screenHeight}}px;background-color: aliceblue;">
  <!--狀態(tài)欄高度-->
  <view style="height: {{statusBarHeight}}px;background-color: red;"></view>
</view>

頁(yè)面js代碼:

// index.js
const app = getApp()
Page({
  data: {
    screenHeight: app.globalData.screenHeight,
    statusBarHeight: app.globalData.statusBarHeight
  }
})

app.js文件代碼:

    onLaunch: function() {
	     wx.getSystemInfo({
           success: e => {
              this.globalData.screenHeight = e.screenHeight;
              //獲取狀態(tài)欄的高度
              this.globalData.StatusBar = e.statusBarHeight;
           }
	     },
	)}

2.2 頂部導(dǎo)航欄

1.位置

頂部導(dǎo)航欄的高度是包含膠囊體的。
小程序全局自定義頂部,微信小程序,微信小程序,小程序,javascript

2.如何獲取

首先獲取膠囊體的信息,如果不存在膠囊體,頂部導(dǎo)航欄高度 = 狀態(tài)欄高度 + 50;如果存在頂部導(dǎo)航欄高度 = 膠囊體離頁(yè)面頂部的距離 + 膠囊體離頁(yè)面底部的距離 - 狀態(tài)欄高度
頁(yè)面代碼:

<view style="height: {{screenHeight}}px;background-color: aliceblue;">
  <!--頂部導(dǎo)航高度-->
  <view style="height: {{customBar}}px;background-color: blue;"></view>
</view>

頁(yè)面js代碼:

const app = getApp()
Page({
  data: {
    screenHeight: app.globalData.screenHeight,
    customBar: app.globalData.CustomBar
  }
})

app.js代碼:

// app.js
App({
  globalData:{
  },
  onLaunch: function() {
    wx.getSystemInfo({
    success: e => {
        let capsule = wx.getMenuButtonBoundingClientRect();
        if (capsule) {
          this.globalData.Custom = capsule;
          this.globalData.CustomBar = capsule.bottom + capsule.top - e.statusBarHeight;
        } else {
          this.globalData.CustomBar = e.statusBarHeight + 50;
        }
      }
     },
 )}
})

2.4 內(nèi)容區(qū)域

1.位置

如果你做的小程序沒(méi)有底部導(dǎo)航欄的話(huà),那么內(nèi)容區(qū)域 = 頁(yè)面總高度 - 頂部導(dǎo)航欄高度
小程序全局自定義頂部,微信小程序,微信小程序,小程序,javascript
但是如果你需要底部導(dǎo)航的話(huà)那么內(nèi)容區(qū)域 = 頁(yè)面總高度 - 頂部導(dǎo)航欄高度 - 底部導(dǎo)航欄高度
小程序全局自定義頂部,微信小程序,微信小程序,小程序,javascript

2.如何獲取

頁(yè)面代碼:

  <view style="height:{{screenHeight}}px;width: 100%;background-color: rgb(255, 255, 255);">
    <!--頂部導(dǎo)航欄-->
    <view class="" style="height: {{CustomBar}}px;background-color: blue;"></view>
    <!--內(nèi)容區(qū)域-->
    <view class="" style="height: {{screenHeight - CustomBar}}px;background-color: black;"></view>
    <!--內(nèi)容區(qū)域 包含底部導(dǎo)航-->
    <view class="" style="height: {{screenHeight - CustomBar - tabBarHeight}}px;background-color: black;"></view>
  </view>

頁(yè)面js代碼:

const app = getApp()
Page({
  data: {
    screenHeight: app.globalData.screenHeight,
    CustomBar: app.globalData.CustomBar,
    tabBarHeight: app.globalData.tabBarHeight,
  }
})

app.js代碼:

// app.js
App({
  globalData:{
    
  },
  onLaunch: function() {
    // 獲取系統(tǒng)狀態(tài)欄信息
    wx.getSystemInfo({
    success: e => {
        this.globalData.screenHeight = e.screenHeight;
        this.globalData.tabBarHeight = e.screenHeight - e.safeArea.bottom + 50
        let capsule = wx.getMenuButtonBoundingClientRect();
        if (capsule) {
          this.globalData.CustomBar = capsule.bottom + capsule.top - e.statusBarHeight;
        } else {
          this.globalData.CustomBar = e.statusBarHeight + 50;
        }
      }
     },
 )}
})

2.3 底部導(dǎo)航欄

1.位置

小程序全局自定義頂部,微信小程序,微信小程序,小程序,javascript

2.如何獲取

頁(yè)面代碼:

<view style="height: {{screenHeight}}px;background-color: aliceblue;">
  <!--頂部導(dǎo)航高度-->
  <view style="height: {{customBar}}px;background-color: blue;"></view>
  <!--內(nèi)容高度 包含底部導(dǎo)航-->
  <view style="height: {{screenHeight - customBar - tabBar}}px;background-color: black;"></view>
  <!--底部導(dǎo)航高度-->
  <view style="height: {{tabBarHeight}}px;background-color: red;"></view>
</view>

頁(yè)面js代碼:

const app = getApp()
Page({
  data: {
    screenHeight: app.globalData.screenHeight,
    statusBarHeight: app.globalData.statusBarHeight,
    customBar: app.globalData.CustomBar,
    tabBar: app.globalData.tabBarHeight,
    tabBarHeight: app.globalData.tabBarHeight
  }
})

app.js代碼:

    onLaunch: function() {
        wx.getSystemInfo({
            success: e => {
            	this.globalData.screenHeight = e.screenHeight;
            	this.globalData.tabBarHeight = e.screenHeight-e.safeArea.bottom + 50
				let capsule = wx.getMenuButtonBoundingClientRect();
		        if (capsule) {
		          this.globalData.Custom = capsule;
		          this.globalData.CustomBar = capsule.bottom + capsule.top - e.statusBarHeight;
		        } else {
		          this.globalData.CustomBar = e.statusBarHeight + 50;
		        }
              }
             },
        )}

這個(gè)底部導(dǎo)航欄之所以+50,我是從小程序框架中獲取的,可以直接拿來(lái)用。

三、膠囊體

3.1 什么是膠囊體?

小程序全局自定義頂部,微信小程序,微信小程序,小程序,javascript

我們?cè)僮鲎远x頂部導(dǎo)航時(shí),在一些場(chǎng)景下需要在導(dǎo)航中設(shè)置返回按鈕以及其他信息:
小程序全局自定義頂部,微信小程序,微信小程序,小程序,javascript
這些按鈕和信息需要和膠囊體對(duì)齊才完美,所以我們需要獲取到膠囊體的位置信息。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-786669.html

3.2 如何獲?。?/h3>
// app.js
App({
  globalData:{
  },
  onLaunch: function() {
    // 獲取系統(tǒng)狀態(tài)欄信息
    wx.getSystemInfo({
    success: e => {
      	//膠囊體距離頂部距離
        this.globalData.capsuleTop =  wx.getMenuButtonBoundingClientRect().top;
        //膠囊體的高度
        this.globalData.capsuleHeight =  wx.getMenuButtonBoundingClientRect().height;
        //膠囊體的寬度
        this.globalData.capsuleWidth =  wx.getMenuButtonBoundingClientRect().width;
      }
     },
     wx.onKeyboardHeightChange((res) => {
      console.log('鍵盤(pán)高度111111:', res.height)
      wx.setStorageSync('keyBordHeight', res.height)
    })
 )}
})

到了這里,關(guān)于微信小程序第一節(jié) —— 自定義頂部、底部導(dǎo)航欄以及獲取膠囊體位置信息。的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序、uniapp自定義底部導(dǎo)航欄(附源碼)

    微信小程序、uniapp自定義底部導(dǎo)航欄(附源碼)

    需求分析 目前開(kāi)發(fā)一套“同城跑腿平臺(tái)”小程序,面向用戶(hù)和騎手,需要兩個(gè)不同的底部導(dǎo)航,uniapp原生導(dǎo)航不滿(mǎn)足要求。所以需要自定義導(dǎo)航欄。 隨著自定義導(dǎo)航卡完成,切換選項(xiàng)卡頁(yè)面總是閃爍,在網(wǎng)上也沒(méi)有搜到完整的解決方法,總不能完美解決?,F(xiàn)在我有一個(gè)方法

    2024年02月04日
    瀏覽(28)
  • 微信小程序基于vant的自定義底部導(dǎo)航欄

    微信小程序基于vant的自定義底部導(dǎo)航欄

    基于vant-weapp的底部導(dǎo)航欄,首先根據(jù)vant官網(wǎng)安裝vant https://vant-ui.github.io/vant-weapp/#/quickstart 由于vant的Tabbar 標(biāo)簽欄自帶翻頁(yè)效果,而且不夠美觀,且小程序最多只支持10個(gè)頁(yè)面棧,點(diǎn)擊多了會(huì)導(dǎo)致報(bào)錯(cuò) 報(bào)錯(cuò)如下? 將wx.navigateTo改為wx.redirectTo在反復(fù)多點(diǎn)很多次之后依然會(huì)報(bào)錯(cuò),所

    2024年02月13日
    瀏覽(33)
  • 微信小程序云開(kāi)發(fā)之自定義頂部導(dǎo)航欄搜索框(非組件)

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

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

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

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

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

    2024年02月06日
    瀏覽(91)
  • 微信小程序自定義導(dǎo)航欄機(jī)型適配--底部Tabbar--view高度--底部按鈕適配

    微信小程序自定義導(dǎo)航欄機(jī)型適配--底部Tabbar--view高度--底部按鈕適配

    自定義微信小程序頭部導(dǎo)航欄 自定義微信小程序頭部導(dǎo)航欄,有幾種方式 方式一 定義此方法后,頭部的導(dǎo)航欄會(huì)去掉,導(dǎo)航欄下的元素會(huì)直接向上移動(dòng)到原導(dǎo)航欄的位置,可以再app.json配置成全局沉浸式導(dǎo)航欄,以及在單頁(yè)面配置沉浸式導(dǎo)航欄。 方式二 使用組件 這里使用

    2024年02月02日
    瀏覽(23)
  • 【微信小程序-原生開(kāi)發(fā)】實(shí)用教程07 - Grid 宮格導(dǎo)航,詳情頁(yè),側(cè)邊導(dǎo)航(含自定義頁(yè)面頂部導(dǎo)航文字)

    【微信小程序-原生開(kāi)發(fā)】實(shí)用教程07 - Grid 宮格導(dǎo)航,詳情頁(yè),側(cè)邊導(dǎo)航(含自定義頁(yè)面頂部導(dǎo)航文字)

    【微信小程序-原生開(kāi)發(fā)】實(shí)用教程 輪播圖、分類(lèi)頁(yè)簽 tab 、成員列表(含Tdesign升級(jí),切換調(diào)試基礎(chǔ)庫(kù),設(shè)置全局樣式,配置組件按需注入,添加圖片素材,wx:for,生命周期 onLoad)

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

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

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

    2024年02月01日
    瀏覽(37)
  • uniapp使用Uview的Navbar自定義微信小程序頂部導(dǎo)航欄,滾動(dòng)漸變透明效果;看完不會(huì)我下跪
  • 微信原生小程序自定義頂部導(dǎo)航

    微信原生小程序自定義頂部導(dǎo)航

    都2023了,自定義頂部導(dǎo)航應(yīng)該不是什么新鮮事了,這里只是簡(jiǎn)單記錄下 微信自己也提供了自定義頂部導(dǎo)航 navigation-bar ,大概看了下,可配置的也不少,所以看需求了,如果簡(jiǎn)單可以采用微信提供的,老規(guī)矩,先看效果 狀態(tài)欄高度(getSystemInfoSync),就是手機(jī)頂部網(wǎng)絡(luò)那塊的

    2024年02月15日
    瀏覽(24)
  • 微信小程序自動(dòng)獲取頂部導(dǎo)航欄高度

    微信小程序自動(dòng)獲取頂部導(dǎo)航欄高度

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

    2024年02月11日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包