HarmonyOS display.getDefaultDisplaySync\(\)方法未获取到最新的屏幕状态?

HarmonyOS系统折叠屏,监听foldStatusChange并在回调中通过display.getDefaultDisplaySync()方法获取屏幕宽高,尝试更新UI组件的宽高,发现在折叠屏从展开-\>收起的时候,获得的屏幕宽高没有更新,还是展开时的宽高。

阅读 463
1 个回答

1、目前display.on(‘foldStatusChange’)和display.on(‘foldDisplayModeChange’)有区别,foldstatus即折叠态是hall器件和posture器件上报后得到对应折叠状态就通知监听变化。folddisplaymode是折叠屏显示模式,foldstatus上报后还有要完成对应的切屏操作,更新屏幕属性后才会通知监听olddisplaymode变化。因此建议使用displaymode不要用foldstatus。

2、foldStatusChange需要给做开合动效的场景,需要早一些收到折叠状态回调(有延迟)。

foldStatusChange有延迟,建议使用display.on(‘foldDisplayModeChange’)或者延迟获取屏幕状态。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进