HarmonyOS px2vp在模拟器上无法正确转换

如下代码,使用px2vp,在模拟器上无法正确的转换高度。

async onWindowStageCreate(windowStage: window.WindowStage): Promise<void> { 
  const mainWindow = windowStage.getMainWindowSync() 
  await mainWindow.setWindowLayoutFullScreen(true) 
  const area = mainWindow.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM) 
  //高度为126 
  const height = px2vp(area.topRect.height) 
}
HarmonyOS
2024-08-10 11:31:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

px2vp是ArkUI的接口,windowStage.loadContent这个接口是初始化ArkUI。初始化ArkUI之前,这个转化比例是1,只有当初始化完成后,这个值才会根据设备得到具体的值。在loadContent完成后获取px2vp值即可,可以调整下px2vp 的使用时机。例如:在loadContent回调中使用px2vp。

windowStage.loadContent(‘pages/Index’, (err, data) => { 
  if (err.code) { 
    hilog.error(0x0000, ‘testTag’, ‘Failed to load the content. Cause: %{public}s’, JSON.stringify(err) ?? ‘’); 
    return; 
  } 
  let result = px2vp(123); 
});
分享
微博
QQ
微信
回复
2024-08-10 18:16:25
相关问题
pxvp之间如何相互转换
1373浏览 • 1回复 待解决
HarmonyOS模拟器使用libjsvm.so崩溃
49浏览 • 1回复 待解决
DevEco模拟器无法启动
4031浏览 • 0回复 待解决
HDC是否可以针对模拟器使用?
410浏览 • 1回复 待解决
c++ 有vp2px 的接口么?
1518浏览 • 1回复 待解决
新版DevEco Studio编辑无法开启模拟器
8418浏览 • 2回复 待解决
模拟器是不显示device模块的吗?
5810浏览 • 1回复 待解决
HarmonyOS如何上传图片到模拟器相册
282浏览 • 1回复 待解决
模拟器启动出错怎么回事?
1877浏览 • 1回复 待解决
ds的本地模拟器启动失败
5999浏览 • 1回复 待解决