小程序
小游戏
企业微信
微信支付
扫描小程序码分享
wx.createUserInfoButton()创建的按钮,参考下面链接的方法设置按钮,在iphone6/7/8显示没问题,在iphone12,X,XR等大屏幕手机里按钮高度,和top显示不正确,要怎么修改呢?
https://developers.weixin.qq.com/community/develop/doc/000a64e7714a1027f0bb401415bc00?highLine=%25E6%25B8%25B8%25E6%2588%258F%25E5%259C%2588%25E6%258C%2589%25E9%2592%25AE
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
wx.getSystemInfoSync()返回的对象有safeArea属性,是可以获取带有刘海屏手机的刘海高度,你把这个刘海的高度进行相加后,应该就没问题了
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
static wxGameSizeConverWxSize(width: number, height: number, posX: number, posY: number): any {
let platformInfo: any = wx.getSystemInfoSync(); // 微信平台设备信息
let safeArea = platformInfo.safeArea;
// css 像素转成设备物理像素
let screenWidth = platformInfo.screenWidth * 2;
let screenHeight = (platformInfo.screenHeight)* 2;
// 设计分辨率尺寸
let designResolutionSize = { width: 750, height: 1334, x: 170, y: 862 };
// 与设计分辨率的宽高比例
let scaleX: number = screenWidth / designResolutionSize.width;
let scaleY: number = screenHeight / designResolutionSize.height;
// 适配高度和宽度
let newWidth: number = (width * scaleX) * 0.5;
let newHeight: number = (height * scaleY) * 0.5;
let xDes = (posX * scaleX) / 2;
let yDes = (posY * scaleY) / 2;
return { newWidth, newHeight, xDes, yDes };
}
//safeArea.top还是safeArea.height,请问是加在哪里呢?
//附件里两张图,左边的是在ipx等手机里异常的,右边是在ip6/7/8手机正常
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
wx.getSystemInfoSync()返回的对象有safeArea属性,是可以获取带有刘海屏手机的刘海高度,你把这个刘海的高度进行相加后,应该就没问题了
static wxGameSizeConverWxSize(width: number, height: number, posX: number, posY: number): any {
let platformInfo: any = wx.getSystemInfoSync(); // 微信平台设备信息
let safeArea = platformInfo.safeArea;
// css 像素转成设备物理像素
let screenWidth = platformInfo.screenWidth * 2;
let screenHeight = (platformInfo.screenHeight)* 2;
// 设计分辨率尺寸
let designResolutionSize = { width: 750, height: 1334, x: 170, y: 862 };
// 与设计分辨率的宽高比例
let scaleX: number = screenWidth / designResolutionSize.width;
let scaleY: number = screenHeight / designResolutionSize.height;
// 适配高度和宽度
let newWidth: number = (width * scaleX) * 0.5;
let newHeight: number = (height * scaleY) * 0.5;
let xDes = (posX * scaleX) / 2;
let yDes = (posY * scaleY) / 2;
return { newWidth, newHeight, xDes, yDes };
}
//safeArea.top还是safeArea.height,请问是加在哪里呢?
//附件里两张图,左边的是在ipx等手机里异常的,右边是在ip6/7/8手机正常