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
相关问题
px2vp context.getLastWindow回调之前无效
308浏览 • 1回复 待解决
模拟器安装应用包报错
153浏览 • 1回复 待解决
pxvp之间如何相互转换
2835浏览 • 1回复 待解决
HarmonyOS 模拟器无法安装应用
121浏览 • 1回复 待解决
DevEco模拟器无法启动
4538浏览 • 0回复 待解决
HarmonyOS模拟器使用libjsvm.so崩溃
340浏览 • 1回复 待解决
c++ 有vp2px 的接口么?
1851浏览 • 1回复 待解决
HDC是否可以针对模拟器使用?
693浏览 • 1回复 待解决
IDE5创建的工程无法模拟器运行
207浏览 • 1回复 待解决
HarmonyOS X86模拟器AAID获取失败
159浏览 • 1回复 待解决
Api12 arm模拟器无法启动
331浏览 • 1回复 待解决
新版DevEco Studio编辑无法开启模拟器
8959浏览 • 2回复 待解决
window模拟器无法弹出软键盘
165浏览 • 1回复 待解决
模拟器无法创建该怎么办?
171浏览 • 1回复 待解决