首页 > 编程语言 >Taro微信小程序获取Tab页可视区域高度

Taro微信小程序获取Tab页可视区域高度

时间:2023-08-18 20:56:53浏览次数:43  
标签:menuButtonBoundingInfo Taro 微信 胶囊 高度 获取 Tab const

前情

公司有自己的小程序项目,因公司主要技术栈为react,所以选择了Taro来开发,Taro是京东出品的多端统一开发解决方案,用来开发小程序也相比用原生开发,在开发体验上好很多,而且还能使用成熟的React技术栈。

Tab页可视区域高度获取原理图解

注:当前tab页未开启沉浸式导航栏模式

可操作区域高度获取方法

关键代码如下:

// 获取窗口和状态栏高度
const {windowHeight, statusBarHeight} = Taro.getSystemInfoSync(); 
// 获取菜单按钮(右上角胶囊按钮)的布局位置信息。坐标信息以屏幕左上角为原点
const menuButtonBoundingInfo = Taro.getMenuButtonBoundingClientRect();
// 可操作区域的高等于窗口高 - 顶部导航的高 - 状态栏的高
// 顶部导航的高 = 胶囊的高 + 胶囊上间隙 + 胶囊下间隙
const clientHeihgt = windowHeight - statusBarHeight - (menuButtonBoundingInfo.top - menuButtonBoundingInfo.bottom) - (menuButtonBoundingInfo.top - systemInfo.statusBarHeight) * 2;

标签:menuButtonBoundingInfo,Taro,微信,胶囊,高度,获取,Tab,const
From: https://www.cnblogs.com/xwwin/p/17641581.html

相关文章

  • 1. Stable Diffusion 提示词篇
    一.提示词1.正向提示词正面:(masterpiece:1.2),bestquality,masterpiece,original,extremelydetailedwallpaper,perfectlighting,(extremelydetailedCG:1.2)2.反向提示词反面:NSFW,(worstquality:2),(lowquality:2),(normalquality:2),normalquality......
  • C# Regex 获取<table></table>的html
    [Fact]publicvoidRegex_Test(){varrowHtml=@"<divclass=\""container\""><divclass=\""titledottedline\"">XXXXXX股份有限公司-受益所有人查询结果</div></di......
  • 微信开发之一键撤回消息的技术实现
    撤回消息请求URL:http://域名地址/revokeMsg请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是string登录实例标识wcId否string接收方微信id/群idmsgId是long消息msgId(发送类接口返回的msgId)newMsgId是long消息newMsg......
  • 【Oracle RAC Database】创建ASM磁盘组与RAC Database
    [grid@node01~]$asmca[oracle@node01~]$dbca[grid@node01~]$crsctlstatusres-t--------------------------------------------------------------------------------NAMETARGETSTATESERVERSTATE_DETAILS---------......
  • 微信开发之一键撤回消息的技术实现
    撤回消息请求URL:http://域名地址/revokeMsg请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是string登录实例标识wcId否string接收方微信id/群idmsgId是long消息msgId(发送类接......
  • 微信小程序动态绑定class样式类(三木运算)
    直接上代码,循环列表,根据选中状态显示不同的样式,active就是你在wxss文件里面创建的类名<view  class="{{item.select ? 'active':''}}" wx:for="{{itemList}}" wx:key="{{item.id}}">   {{item.name}}</view>在一个标签的class里添加{{}}模板语法,模板......
  • 微信开发之一键删除好友的技术实现
    简要描述:删除联系人请求URL:http://域名地址/delContact请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是String微信实列IDwcId是String需删除的微信id返回数据:参数名类型说明codestring1000成功,1001失败msgstring反馈......
  • el-table 拖动排序 sortablejs
    参考:https://blog.csdn.net/glpghz/article/details/124359331官网:http://www.sortablejs.com/index.html安装cnpminstallsortablejs--save引入importSortablefrom"sortablejs";table加锚点<el-tableid="ability-table"加载后mounted()......
  • 【Oracle RAC Database】通过ASMLIB创建ASM DISK
    [root@node01~]#groupadd-g1200dba[root@node01~]#groupadd-g1201oinstall[root@node01~]#groupadd-g1202asmadmin[root@node01~]#groupadd-g1203asmdba[root@node01~]#useradd-u1100-goinstall-Gasmadmin,asmdba,dbagrid[root@node01~]......
  • 【Oracle RAC Database】通过DNS实现SCAN VIP的域名解析
    [root@node04~]#yuminstall-ybind[root@node04~]#vim/etc/named.confoptions{listen-onport53{192.168.1.104;};/*listen-on-v6port53{::1;};*/directory"/var/named";dump-file"/v......