如何在uniapp中獲取可視區(qū)域的高度(uni.getSystemInfo)
前言
在實際開發(fā)中我們會遇到不確定高度的情況,那么在uniapp中我們?nèi)绾潍@取區(qū)域的高度吶?一起來看看吧
使用到的:
uni-app提供了異步(uni.getSystemInfo)和同步(uni.getSystemInfoSync)的2個API獲取系統(tǒng)信息
uni.getSystemInfo(OBJECT)
異步獲取系統(tǒng)信息
OBJECT 參數(shù)說明:
參數(shù)名 | 類型 | 必填 | 說明 |
success | Function | 是 | 接口調(diào)用成功的回調(diào) |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
success 返回參數(shù)說明,目前需要使用到的:
參數(shù) | 說明 |
windowHeight | 可使用窗口高度 |
statusBarHeight | 手機狀態(tài)欄的高度 |
一、分析uniapp的可視區(qū)域
是哪塊哪?其實和我們想的有些出入
其實就是藍色區(qū)域=紅色區(qū)域-綠色區(qū)域

代碼:
getClineHeight(){
const res = uni.getSystemInfo({
success:(res=>{
this.clientHeight = res.windowHeight-uni.upx2px(80)
})
});
},
tip:注意,在我們的微信小程序中是可以正確顯示的,但是在ios中是有問題的
二、如何在小程序和ios中都能正確顯示
我們只需要獲取系統(tǒng)信息中的platform信息,判斷是ios或者android或者其他
tip注意點:
1.注意這里的單位是pxname我們需要將代碼中導航欄寫的css的80rpx轉(zhuǎn)換為40px,使用upx2px直接可以進行轉(zhuǎn)換
2.ios本身有44的高度,Android是48
代碼:
getBarHeight(){
const res = uni.getSystemInfoSync()
if(res.platform==='ios'){
return 44+res.statusBarHeight
}else if(res.platform==='android'){
return 48+res.statusBarHeight
}else{
return 0;
}
},
//獲取可視區(qū)域高度
getClineHeight(){
const res = uni.getSystemInfo({
success:(res=>{
this.clientHeight = res.windowHeight-uni.upx2px(80)-this.getBarHeight();
})
});
},三、減掉的部分
白色部分=綠色部分(windowHeight)-藍色部分(ios44,Android48)-橙色部分(getSystemInfoSync中的statusBarHeight)-黑色部分(你設置的高度或者使用組件的高度,注意單位是px)
windowHeight | 可使用窗口高度 |
windowHeight | 可使用窗口高度 |
減去

代碼:
getBarHeight(){
const res = uni.getSystemInfoSync()
if(res.platform==='ios'){
return 44+res.statusBarHeight
}else if(res.platform==='android'){
return 48+res.statusBarHeight
}else{
return 0;
}
},
//獲取可視區(qū)域高度
getClineHeight(){
const res = uni.getSystemInfo({
success:(res=>{
this.clientHeight = res.windowHeight-uni.upx2px(80)-this.getBarHeight();
})
});
},總結(jié)
到此這篇關于如何在uniapp中獲取可視區(qū)域的高度(uni.getSystemInfo)的文章就介紹到這了,更多相關uniapp獲取可視區(qū)域的高度內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
List Installed Software Features
List Installed Software Features...2007-06-06
基于js?+?html2canvas實現(xiàn)網(wǎng)頁放大鏡功能
最近接到任務,需實現(xiàn)【網(wǎng)頁】放大鏡的效果,百度搜索?【js?放大鏡】關鍵字,千篇一律的都是一些仿淘寶/京東等電商網(wǎng)站中查看規(guī)格大圖的效果實現(xiàn),根本無法滿足我的需求,于是自己花了點時間調(diào)研實現(xiàn),在這里分享給大家,感興趣的朋友可以參考下2023-12-12
用js腳本控制asp.net下treeview的NodeCheck的實現(xiàn)代碼
根據(jù)TreeView2.js修改后的TreeView父節(jié)點與子節(jié)點的CheckBox聯(lián)動.2010-03-03
JavaScript實現(xiàn)數(shù)字數(shù)組按照倒序排列的方法
這篇文章主要介紹了JavaScript實現(xiàn)數(shù)字數(shù)組按照倒序排列的方法,涉及javascript中sort方法的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
JavaScript實現(xiàn)shuffle數(shù)組洗牌操作示例
這篇文章主要介紹了JavaScript實現(xiàn)shuffle數(shù)組洗牌操作,結(jié)合實例形式分析了javascript數(shù)組的定義、構(gòu)造、排序等相關操作技巧,需要的朋友可以參考下2019-01-01

