【Uniapp-Vue3】获取用户状态栏高度和胶囊按钮高度

在项目目录下创建一个utils文件,并在里面创建一个system.js文件。

在system.js中配置如下代码:

javascript 复制代码
const SYSTEM_INFO = uni.getSystemInfoAsync();

// 返回状态栏高度
export const getStatusBarHeight = ()=> SYSTEM_INFO.statusBarHeight || 15;

// 返回胶囊的高度(包括距离状态栏的部分)
export const getTitleBarHeight = ()=>{
	if(uni.getMenuButtonBoundingClientRect) {
		let {top, height} = uni.getMenuButtonBoundingClientRect();
		return height + (top - getStatusBarHeight()) * 2;
	}else{
		return 40;
	}
}

在script标签中引入:

import {getStatusBarHeight, getTitleBarHeight} from "@/utils/system.js";

我们在没有设置状态栏高度和胶囊按钮高度的时候是如下状态:

直接在标签中进行配置:

:style="{height:getStatusBarHeight()+'px'}"

:style="{height:getTitleBarHeight()+'px'}"

相关推荐
正宗咸豆花25 分钟前
【PromptCoder + Bolt.new】Cascade模式自动生成页面和对应的路由
前端·人工智能·ai·prompt·提示词
roamingcode1 小时前
前端组件标准化专家Prompt指令的最佳实践
前端·prompt
LXY202305042 小时前
css三角图标
前端·javascript·css
spring_007_9993 小时前
在uniapp中修改打包路径
前端·uni-app
cheese-liang3 小时前
Excel中Address函数的用法
前端·excel
prince_zxill3 小时前
JavaScript 中的 CSS 与页面响应式设计
前端·javascript·css·前端框架·html
苹果醋33 小时前
Kubeflow——K8S的机器学习利器
运维·vue.js·spring boot·nginx·课程设计
领秀58585 小时前
我问了DeepSeek和ChatGPT关于vue中包含几种watch的问题,它们是这么回答的……
前端·javascript·vue.js
三原5 小时前
vue3实现可以拖动的弹窗组件, 做这个组件可以学习到什么?
前端·javascript·vue.js