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) 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
HarmonyOS
2024-08-10 11:31:35
1.0w浏览
收藏 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); 
});
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
分享
微博
QQ
微信
回复
2024-08-10 18:16:25


相关问题
px2vp context.getLastWindow回调之前无效
683浏览 • 1回复 待解决
HarmonyOS pxvp转换
451浏览 • 1回复 待解决
HarmonyOS pxvp如何转换
481浏览 • 1回复 待解决
HarmonyOS pxvp 单位转换问题
303浏览 • 1回复 待解决
模拟器安装应用包报错
701浏览 • 1回复 待解决
pxvp之间如何相互转换
4061浏览 • 1回复 待解决
DevEco模拟器无法启动
5237浏览 • 0回复 待解决
HarmonyOS 模拟器无法安装应用
544浏览 • 1回复 待解决
HarmonyOS flutter运行在模拟器白屏
737浏览 • 1回复 待解决
HDC是否可以针对模拟器使用?
1220浏览 • 1回复 待解决
HarmonyOS模拟器使用libjsvm.so崩溃
798浏览 • 1回复 待解决
IDE5创建的工程无法模拟器运行
812浏览 • 1回复 待解决