uniapp设置导航栏、沉浸式导航栏以及获取屏幕尺寸

        页面上往往会有一些需要随着屏幕的大小变化而变化的样式,这时,我们就需要获取到屏幕的宽度和高度。

        当然,一个H5页面或者微信小程序页面的导航栏会有多种形态,可以带有导航栏,也可以设置为沉浸式导航栏(即导航栏设置为透明的)。那么,获取屏幕的尺寸可以通过uni.getSystemInfo来获取,下面我们通过例子来了解。

       1、 首先,我们来看看带有导航栏的页面所获取的屏幕宽高。

       实现的效果:

 

代码:

        页面的代码:

<template>
	<view>
		<view>------------获取实时屏幕宽高------------</view>
		<view>屏幕的宽度为:{{fullwidth}}</view>
		<view>屏幕的高度为:{{fullHeight}}</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				fullwidth: '',
				fullHeight: ''
			}
		},
		mounted() {
			this.getFullData();
		},
		methods: {
			getFullData() {
				var that = this
				uni.getSystemInfo({
					success: function(res) {
						//获取屏幕的高度
						that.fullHeight = res.windowHeight + 'px';
						//获取屏幕的宽度
						that.fullwidth = res.windowWidth + 'px';
					}
				})
			}
		}
	}
</script>

<style>

</style>

 pages.json中设置:带有导航栏,并且导航栏的名称为 “获取实时屏幕宽高”

{
     "path" : "pages/fulldata/fulldata", // 获取实时屏幕宽高
     "style" :                                                                                    
          {
		      "navigationBarTitleText": "获取实时屏幕宽高"
                
          }
 }

 此时,我们可以看到,我们所选择的屏幕的尺寸为 375*667的屏幕,但是我们所获取到的屏幕尺寸却为375*623,原因是因为我们所获取的屏幕高度 = 屏幕高度 - 导航栏的高度。我们检查一下,选中导航栏,我们可以看到

 

         导航栏的高度就是667-623 = 44px,其中 检查填充顶部: env (safe-area-inset-top);不明白的可以自行搜索百度了解。

        2、其次我们来看看沉浸式导航栏时,所获取的屏幕尺寸:

 设置沉浸式导航栏只需要修改它的style属性即可,其他不用修改。

{
   "path" : "pages/fulldata/fulldata", // 获取实时屏幕宽高
   "style" :                                                                                    
        {
           "navigationStyle":"custom"  // 沉浸式导航栏
        }
}

看效果:

 获取到的屏幕尺寸和设置的完全一模一样!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uni-app是一种跨平台的应用开发框架,可以同时开发小程序、H5和App。沉浸导航是指将页面顶部的组件填充到导航的区域,使得导航和页面顶部的组件融为一体。在uni-app中实现沉浸导航可以通过修改页面的style属性来实现。具体步骤如下: 1. 在page.json文件中找到要实现沉浸导航的页面,添加以下代码到该页面的style属性中: ``` "style": { "navigationStyle": "custom" } ``` 这样就将该页面的导航设置沉浸导航。 2. 通过uni.getSystemInfo方法获取屏幕尺寸,可以根据需要进行页面布局的调整。 需要注意的是,以上方法适用于uni-app开发的小程序和H5页面。对于微信小程序页面,也可以通过设置导航的背景色为透明来实现沉浸导航。具体的实现方可以根据具体的需求和开发框架进行调整。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [uni-app实现小程序沉浸导航/顶部组件占满导航](https://blog.csdn.net/qq_52925863/article/details/127451119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [uniapp设置导航沉浸导航以及获取屏幕尺寸](https://blog.csdn.net/EvaY_Yang/article/details/125554733)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值