微信小程序-获取设备信息,状态栏/导航栏/内容/tabBar高度设置

这篇具有很好参考价值的文章主要介绍了微信小程序-获取设备信息,状态栏/导航栏/内容/tabBar高度设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果展示

微信小程序-获取设备信息,状态栏/导航栏/内容/tabBar高度设置

 代码展示文章来源地址https://www.toymoban.com/news/detail-506501.html

<template>
	<view>
		<view class="d-flex a-center j-center bg-blue" :style="{height:statusBarHeight+'rpx'}">状态栏</view>
		<view class="d-flex a-center j-center bg-green" :style="{height:navigationHeight+'rpx'}">导航栏</view>
		<view class="d-flex a-center j-center bg-pink" :style="{height:myTabBarHeight+'rpx'}">内容</view>
		<view class="d-flex a-center j-center bg-gray":style="{height:tabBarHeight+'rpx'}">tabBar</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				myTabBarHeight: this.$store.state.GetSystemInfo.myTabBarHeight, // 页面高度
				statusBarHeight: this.$store.state.GetSystemInfo.statusBarHeight, // 状态栏高度
				navigationHeight: this.$store.state.GetSystemInfo.navigationHeight, // 状态栏高度
				tabBarHeight: this.$store.state.GetSystemInfo.tabBarHeight, // tabBar高度
			};
		}
	}
</script>

<style lang="scss">

</style>
import MUTATION from "./mutations-type.js"
import mixin from '../../uitls/mixin.js'
const GetSystemInfo = {
	namespaced: true,
	_name: 'GetSystemInfo',
	state: {
		statusBarHeight: 0, // 状态栏高度
		navigationBarHeight: 0,
		navHeight: 0,
		screentHeight: 0, // 屏幕高度
		navigationHeight: 0, // 导航栏的高度
		windowHeight: 0, // 当前机型-window高度
		windowWidth: 0, // 当前机型-window宽度
		scaleFactor: 0, // 机型适配比例系数
		menuButtonLeft: 0, // 胶囊左边界的坐标
		myPageHeight: 0, // 使用-自定义导航栏-页面高度
		myTabBarPageHeight: 0, // 使用-自定义导航栏-tabBar页面高度
		sysPageHeight: 0, // 使用-系统自带导航栏-页面高度
		sysTabBarPageHeight: 0, // 使用-系统自带导航栏-tabBar页面高度
		tabBarHeight: 0, // 底部tabBar的高度
	},
	actions: {
		// 获取借调记录列表
		async getInfo({
			commit
		}) {
			commit(MUTATION.GET_INFO)
		},
	},
	mutations: {
		[MUTATION.GET_INFO](state) {
			// 设备系统信息
			let systemInfomations = uni.getSystemInfoSync()
			console.log(systemInfomations);
			// 机型适配比例系数
			state.scaleFactor = 750 / systemInfomations.windowWidth
			// 当前机型-window高度
			state.windowHeight = systemInfomations.windowHeight * state.scaleFactor //rpx
			// 当前机型-window宽度
			state.windowWidth = systemInfomations.windowWidth * state.scaleFactor //rpx
			// 屏幕的高度
			state.screentHeight = systemInfomations.screenHeight * state.scaleFactor //rpx
			// 导航栏的高度
			state.navigationHeight = 44 * state.scaleFactor //rpx
			// 状态栏高度
			state.statusBarHeight = (systemInfomations.statusBarHeight) * state.scaleFactor //rpx
			// 底部tabBar的高度
			state.tabBarHeight = Math.abs(state.screentHeight - state.statusBarHeight - state.navigationHeight - state.windowHeight)
			// 使用自定义导航栏页面高度
			state.myPageHeight = state.windowHeight - state.statusBarHeight - state.navigationHeight
			state.myTabBarPageHeight = state.windowHeight - state.statusBarHeight - state.navigationHeight - state.tabBarHeight
			// 使用系统自带导航栏页面高度
			state.sysPageHeight = state.windowHeight + state.tabBarHeight
			state.sysTabBarPageHeight = state.windowHeight

			

			// 导航栏高度  注意:此导航栏高度只针对微信小程序有效 其他平台如自定义导航栏请使用:状态栏高度+自定义文本高度

			/****************** 微信小程序头部胶囊信息 ********************/
			// #ifdef MP-WEIXIN
			const menuButtonInfo = wx.getMenuButtonBoundingClientRect()
			// 胶囊高度
			let menuButtonHeight = menuButtonInfo.height * state.scaleFactor //rpx
			// 胶囊宽度
			let menuButtonWidth = menuButtonInfo.width * state.scaleFactor //rpx
			// 胶囊上边界的坐标
			let menuButtonTop = menuButtonInfo.top * state.scaleFactor //rpx
			// 胶囊右边界的坐标
			let menuButtonRight = menuButtonInfo.right * state.scaleFactor //rpx
			// 胶囊下边界的坐标
			let menuButtonBottom = menuButtonInfo.bottom * state.scaleFactor //rpx
			// 胶囊左边界的坐标
			state.menuButtonLeft = menuButtonInfo.left * state.scaleFactor //rpx
			
			// 微信小程序中导航栏高度 = 胶囊高度 + (顶部距离 - 状态栏高度) * 2
			// state.navHeight = menuButtonHeight + (menuButtonTop - state.statusBarHeight) * 2
			
			
			// #endif
			console.log(state);
		}
	},
	...mixin
}

export default GetSystemInfo

到了这里,关于微信小程序-获取设备信息,状态栏/导航栏/内容/tabBar高度设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【OneNET】_01_使用微信小程序通过新版OneNET平台获取STM32设备信息并进行控制

    笔者在这先简单介绍一下自己的整个系统,以好让各位朋友能够快速了解这篇文章对自己是否有帮助。 通过MQTT协议(笔者是直接给ESP01S刷了MQTT的AT固件,这种方法简单方便)将采集到的光照、设备电量和开锁信息上传到OneNET平台(这个过程就是向云平台你所创建设备发布主

    2024年04月24日
    浏览(189)
  • 微信小程序自动获取顶部导航栏高度

    1、本人是通过uniapp开发的微信小程序,原生开发基本相同,首先在data里声明变量 2、其次在onLoad生命周期中获取当前手机的导航栏宽高数据 3、navHeight获取的是当前手机型号的导航栏总高度;searchMarginTop获取的是手机顶部到小程序胶囊的高度,也就是下图黄色线框的高度;

    2024年02月11日
    浏览(73)
  • uniapp 蓝牙连接设备 下发命令 监听蓝牙与设备的连接状态(兼容 微信小程序和支付宝小程序)

    1:创建蓝牙需要调用的Api文件 ly.js 2 在页面中使用index.vue 

    2024年04月14日
    浏览(52)
  • 微信小程序:自动采集,轻松获取文章内容

    作为一名微信小程序开发者,我将为大家介绍如何使用自动采集功能来获取文章内容。通过这种方法,你可以快速获取各种主题的文章,并且无需手动复制粘贴。 1.什么是微信小程序自动采集功能? 微信小程序自动采集功能是指通过编写代码,利用网络爬虫技术从指定网站上

    2024年02月03日
    浏览(56)
  • 微信小程序学习实录3(环境部署、百度地图微信小程序、单击更换图标、弹窗信息、导航、支持腾讯百度高德地图调起)

    百度地图微信小程序JavaScript API(简称小程序JSAPI),支持在微信小程序中使用百度数据资源。小程序JSAPI是对百度地图Web服务API中的部分接口按照微信小程序的规范进行了前端JS封装,方便了微信小程序开发者的调用。部分接口对返回的POI等数据按照微信小程序的数据格式进

    2024年02月02日
    浏览(74)
  • 微信小程序获取用户信息

    要在微信小程序中获取用户信息,你可以按照以下步骤进行操作: 1. 在小程序的app.json文件中添加\\\"scope.userinfo\\\"权限,例如: ``` \\\"permission\\\": {   \\\"scope.userinfo\\\": {     \\\"desc\\\": \\\"你的个人信息\\\"   } } ``` 2. 在小程序的某个页面中,使用wx.login方法获取用户登录凭证code,例如: ``` wx.log

    2024年02月10日
    浏览(51)
  • 微信小程序获取用户信息流程

    要在微信小程序中获取用户信息,通常需要经过以下流程: 此外,还需要在小程序的 app.json 文件中配置 scope.userInfo 以确保可以请求用户信息授权。例如: 需要注意的是,从微信 7.0.0 开始,用户信息授权不再是全量授权,而是分为两部分:基本信息和用户敏感信息。基本信

    2024年02月05日
    浏览(53)
  • 微信小程序—获取用户位置信息

    代码: 结果示例: 接下来我们需要经度(longitude)和纬度(latitude)两个属性

    2024年02月08日
    浏览(62)
  • 微信小程序-获取用户信息【梳理历史】

    有一个迭代的过程,时间很近 大概分为4个内容 1.2021年4月15日  简述:回收了一个接口,新增了一个接口 小程序登录、用户信息相关接口调整说明 | 微信开放社区 (qq.com) 通过wx.login接口获取的登录凭证可直接换取unionID 回收wx.getUserInfo接口可获取用户个人信息能力 新增getUse

    2024年02月11日
    浏览(46)
  • 微信小程序如何获取元素节点信息?

    通常在做微信小程序的时候我们经常会需要获取元素的信息,但是微信小程序有没有完整的“DOM”操作,无法像浏览器中获取元素。 不过在微信中也有一套自己的“DOM”,那就是NodesRef,它可以让我们像开发浏览器程序一样轻松愉快的获取页面元素 1.1、NodesRef是什么? Nodes

    2024年02月05日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包