uniapp 自定义手机顶部状态栏(适配状态栏高度)

开启页面自定义导航栏功能

uniapp 在 pages.json 页面设置了全局的 globalStyle 的 "navigationStyle": "custom" 或单页面的 style 的 "navigationStyle": "custom" 之后页面顶部就没有自带的导航栏了,这时用户可自定义该页面的顶部导航栏。

示例代码

HTML

html 复制代码
<template>
	<view class="page">
		<view :style="{width: '100%', height: statusBarHeight + 'px'}"></view>
		<view class="top-tab flex-c" :style="{height: navHeight + 'px'}">
			<view class="title" v-if="title">{{title}}</view>
		</view>
	</view>
</template>

js(示例为:vue 3 的 js)

javascript 复制代码
<script setup>
	import {
		ref,
		reactive
	} from 'vue'
	
	// 手机屏幕信息
	const window = uni.getWindowInfo()
	// 胶囊信息
	let menu = uni.getMenuButtonBoundingClientRect()

	const statusBarHeight = ref(0)
	statusBarHeight.value = window.statusBarHeight // 手机状态栏高度
	const navHeight = ref(0)
	navHeight.value = (menu.top - window.statusBarHeight) * 2 + menu.height // 导航栏高度
	
</script>

以上就是关于 uniapp 自定义页面状态栏的核心代码了,这样的自定义状态栏是自动适配手机的状态栏的。

相关推荐
泯泷15 分钟前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
泯泷22 分钟前
手搓JSVM第 7 篇:控制流:if、while 与 jump
前端·javascript·算法
泯泷29 分钟前
手搓JSVM第 6 篇:把 IR 编成字节码:emit 与 label fixup
前端·javascript·算法
泯泷30 分钟前
手搓JSVM第 3 篇:从栈式 VM 到寄存器式 VM:为什么我们选择寄存器
前端·javascript·算法
泯泷34 分钟前
第 4 篇:让 VM 支持变量:Slot、Environment 与 TDZ
前端·javascript·算法
粥里有勺糖3 小时前
视野修炼-技术周刊第131期 | Bun 与 pnpm Rust 化
前端·github·agent
Coodor3 小时前
如何在web浏览器使用js操作CPU卡
开发语言·前端·javascript·cpu卡
lilian2333 小时前
HarmonyOS 7 新特性(四)|沉浸光感:空间材质、性能分级与降级策略
前端·pytorch·华为·harmonyos·材质