export class DisplayUtil {
...
static getDefaultDisplaySync(): display.Display {
return display.getDefaultDisplaySync()
}
static getVpWidth(): number {
return px2vp(DisplayUtil.getDefaultDisplaySync().width);
}
...
}
复现步骤:
折叠状态运行项目打印宽度:345.6vp,展开后获取宽度为:711.68vp,再折叠屏幕获取到的尺寸为:711.68vp,
反复折叠,获取到的尺寸一直为:711.68vp
期望:
能获取到正在展示的屏幕尺寸,折叠状态:345.6vp, 展开状态:711.68vp
通过窗口的on(‘windowSizeChange’)方法实现对窗口尺寸大小变化的监听,并把宽度值通过AppStorage来传递。
主要代码如下:
1、在onWindowStageCreate中补充如下代码,使用windowClass.on监听尺寸变化获取宽口宽度。
2、在页面aboutToAppear用getDefaultDisplaySync获取宽度,通过@StorageLink('width')获取监听到变化的宽度。