【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'}"

相关推荐
火车叼位13 分钟前
Volta 下 `corepack` 失踪之谜:问题不在 Node,而在命令入口
前端
cmd15 分钟前
别再用错!5种JS类型判断方法,从原理到实战一文吃透
前端·javascript
小江的记录本19 分钟前
【Redis】Redis常用命令速查表(完整版)
java·前端·数据库·redis·后端·spring·缓存
Csvn24 分钟前
状态管理方案对比(Context、Zustand、Jotai 选型指南)
前端
snow_yan25 分钟前
基于 json-render 的流式表单渲染方案
前端·react.js·llm
倒计时的尽头是什么26 分钟前
避免渲染大量数据造成页面卡顿——虚拟滚动
vue.js
wobi_baoyan26 分钟前
【已解决】使用Maven打包发生或者启动Spring Boot项目发生 错误: 不支持发行版本 17
服务器·前端·javascript
Dylan~~~26 分钟前
Go语言Web框架选型指南:从入门到精通
开发语言·前端·golang
学以智用29 分钟前
# TypeScript 高级特性(核心+实用)
前端·javascript·typescript
学以智用29 分钟前
TypeScript 核心基础:类型/变量 + 函数 + 接口
前端·javascript·typescript