uniapp多端小程序中中各部分尺寸的计算方法

因为各小程序平台能给到的api有一定的差异。

而当小程序用于多端的时候,对于某些设计,可能需要对各部分的尺寸进行精确计算。
这种情况下,就需要针对不同的小程序做不同的处理了。

先说说几个可能用到的api及支持情况

1、可以直接获取的参数(各家小程序都支持的)
statusBarHeight(获取状态栏高度)

2、部分小程序支持或支持不好的参数
titleBarHeight(标题栏高度,支付宝小程序支持)
navigationBarHeight(导航栏高度,百度小程序支持)
getMenuButtonBoundingClientRect(获取胶囊位置,各家小程序都支持,但是部分小程序存在有时候获取不到的问题,所以可以加一个延时获取的方法)
safeArea/safeAreaInsets (获取安全区数据,QQ小程序没有,支付宝小程序的实际结果可能不准确)

另外,已知支付宝小程序和头条小程序不支持完全自定义导航栏,只能对导航的部分参数进行设置。

下面是计算方法:

1、状态栏高度
statusBarHeight已知,不需计算

2、底部导航栏高度
tabBar因为可以完全自定义,一般做设计图的时候,根据设计情况,固定一个高度就可以,不参与计算。

3、安全区高度

safeAreasafeBottom
这个可以直接获取,一般的小程序都是safeAreaInsets.bottom
支付宝小程序参数有时候是safeArea.bottom有时候是safeAreaInsets.bottom
另外,QQ小程序没有,用0即可。

4、标题栏高

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值