在uniapp中获取可视区域的高度(uni.getSystemInfo)

这篇具有很好参考价值的文章主要介绍了在uniapp中获取可视区域的高度(uni.getSystemInfo)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在实际开发中我们会遇到不确定高度的情况,那么在uniapp中我们如何获取区域的高度呐?一起来看看吧

使用到的:

uni-app提供了异步(uni.getSystemInfo)和同步(uni.getSystemInfoSync)的2个API获取系统信息

uni.getSystemInfo(OBJECT)

异步获取系统信息

OBJECT 参数说明:

参数名

类型

必填

说明

success

Function

接口调用成功的回调

fail

Function

接口调用失败的回调函数

complete

Function

接口调用结束的回调函数(调用成功、失败都会执行)

success 返回参数说明,目前需要使用到的:

参数

说明

windowHeight

可使用窗口高度

statusBarHeight

手机状态栏的高度

一、分析uniapp的可视区域

是哪块哪?其实和我们想的有些出入

其实就是蓝色区域=红色区域-绿色区域

uniapp获取屏幕高度,小程序,uni-app,微信小程序,小程序,前端,Powered by 金山文档

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

 getClineHeight(){
     const res = uni.getSystemInfo({
           success:(res=>{
                  this.clientHeight = res.windowHeight-uni.upx2px(80)
            })
        });
     },
uniapp获取屏幕高度,小程序,uni-app,微信小程序,小程序,前端,Powered by 金山文档

tip:注意,在我们的微信小程序中是可以正确显示的,但是在ios中是有问题的

二、如何在小程序和ios中都能正确显示

我们只需要获取系统信息中的platform信息,判断是ios或者android或者其他

tip注意点:

  1. 注意这里的单位是pxname我们需要将代码中导航栏写的css的80rpx转换为40px,使用upx2px直接可以进行转换

2.ios本身有44的高度,Android是48

代码:

        getBarHeight(){
                const res = uni.getSystemInfoSync()
                if(res.platform==='ios'){
                    return 44+res.statusBarHeight
                }else if(res.platform==='android'){
                    return 48+res.statusBarHeight
                }else{
                    return 0;
                }
            },
            //获取可视区域高度
            getClineHeight(){
                const res = uni.getSystemInfo({
                    success:(res=>{
                        this.clientHeight = res.windowHeight-uni.upx2px(80)-this.getBarHeight();
                    })
                });
            },

三、减掉的部分

白色部分=绿色部分(windowHeight)-蓝色部分(ios44,Android48)-橙色部分(getSystemInfoSync中的statusBarHeight)-黑色部分(你设置的高度或者使用组件的高度,注意单位是px)

windowHeight

可使用窗口高度

statusBarHeight

手机状态栏的高度

减去

uniapp获取屏幕高度,小程序,uni-app,微信小程序,小程序,前端,Powered by 金山文档

代码:

        getBarHeight(){
                const res = uni.getSystemInfoSync()
                if(res.platform==='ios'){
                    return 44+res.statusBarHeight
                }else if(res.platform==='android'){
                    return 48+res.statusBarHeight
                }else{
                    return 0;
                }
            },
            //获取可视区域高度
            getClineHeight(){
                const res = uni.getSystemInfo({
                    success:(res=>{
                        this.clientHeight = res.windowHeight-uni.upx2px(80)-this.getBarHeight();
                    })
                });
            },

到了这里,关于在uniapp中获取可视区域的高度(uni.getSystemInfo)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • uni.createSelectorQuery()获取节点高度不准确的解决办法

    如果要获取的内容区域的高度不固定,当数据发生更新的时候,内容区域的高度发生了变化,这时候获取到的值就会不准确, 这时需要通过v-if判断后即可获取正常高度。

    2024年02月11日
    浏览(39)
  • uniapp 获取页面高度及元素高度

    一、获取页面高度 通过uni.getSystemInfoSync()方法可以获取到系统信息,其中就包括了页面高度等信息。 二、获取元素高度 比如有一个金刚区,我们需要获取到这块区域的高度:  

    2024年02月16日
    浏览(32)
  • vue使用百度地图获取可视区域四角坐标(百度地图四角坐标,百度地图3D可视区域四角坐标)

    百度地图api只提供了左下角和右上角两个坐标,左上角坐标和右下角坐标需要自己操作获取,方法如下: 然后在地图上添加监听事件, 这样用户在拖拽或缩放地图时也可以获取到地图可视区域的四角坐标: 创作不易,感觉有用就一键三连,感谢(●\\\'◡\\\'●)

    2024年02月11日
    浏览(73)
  • uniapp 获取 view 的宽度、高度以及上下左右左边界位置

    boundingClientRect 返回的 res 结果(以像素[px]为单位) 属性 类型 说明 id String 节点的 ID dataset Object 节点的 dataset left Number 节点的左边界坐标 right Number 节点的右边界坐标 top Number 节点的上边界坐标 bottom Number 节点的下边界坐标 width Number 节点的宽度 height Number 节点的高度 更多可参

    2024年02月12日
    浏览(66)
  • uniapp 小程序 监听数据渲染完毕 获取高度 滚动条滚动到最底部

    nextTick : 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。 滚动条用的scroll-view标签 写一个聊天项目 实现发送消息、进入页面滚动到最底部 滚动方法pageScrollTo总是在渲染前执行 导致无法滚动到最底部 数据渲染完成获取元素

    2024年02月11日
    浏览(37)
  • uniapp获取屏幕宽度时 获取不到移动设备中内容盒子宽度

    首先 :我使用的是uniapp+ vue3语法: 问题 : 我出现这个问题是IOS 设备发现的,data.boxWidth为0 代码: 原因: 使用了 uni.createSelectorQuery() 来获取元素的宽度,然后在回调函数中设置 data.boxWidth 的值。然而, uni.createSelectorQuery() 方法是异步的 ,也就是说,它会在后台进行元素查

    2024年02月13日
    浏览(53)
  • uniapp微信小程序获取屏幕宽高

    uniapp开发微信小程序的时候,有时候去调整样式 你需要适配各种手机屏幕,使用,你的样式宽高就不能使用rpx   有的朋友觉得可以使用vw  vh  %   是的,当然可以 但是要让你的元素,宽高,比如50%再去加上20rpx  怎么做 所以这时候就要去获取不同手机页面屏幕的宽高 如何

    2023年04月09日
    浏览(50)
  • 在uniapp中获取微信小程序状态栏和导航栏的高度

    在微信小程序中,可以使用  uni.getSystemInfo()  方法获取设备的系统信息,包括状态栏的高度和顶部导航栏的高度。您可以使用这些信息计算顶部图标距离。 下面是一个示例代码,展示如何在 UniApp 中获取顶部图标距离: 在上述示例代码中,我们通过调用  uni.getSystemInfo()  方

    2024年02月07日
    浏览(44)
  • uniapp前端手机获取安全区域css值 防止按键不能被点击

     再编写小程序和移动端的时候可能会出现这种情况, 页面中的按键刚好才手机中按不到的位置   如下 这是苹果手机的home按键 如果刚好我们的按钮再这个位置,用户是点击不到的 我们就需要一个办法,能够自动的让我们的按键移动到安全可点击的区域 我们可以使用如下的值

    2024年02月19日
    浏览(34)
  • 在uniapp中获取到节点的位置信息等(高度、宽度、left、right、top、bottom等)

    在uniapp中我们有时候也会用到获取节点信息等操作,那么我们根据官方文档可以进行查阅,可以使用 uni.createSelectorQuery()进行操作 返回一个 SelectorQuery 对象实例。可以在这个实例上使用 select 等方法选择节点,并使用 boundingClientRect 等方法选择需要查询的信息。 Tips: 使用 uni

    2024年02月12日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包