想在折叠屏状态变化之后,获取屏幕数据,实测发现:折叠屏状态变化之后,获取到的屏幕宽高与实际不符
代码如下:
import { display } from '@kit.ArkUI';
@Entry
@Component
struct FlodStatus {
aboutToAppear(): void {
try {
console.error("fold callback on");
display.on('foldStatusChange', (data: display.FoldStatus) => {
const defaultDisplay = display.getDefaultDisplaySync()
console.log("======" + data.toString());
console.log("======" + JSON.stringify({
screenHeight: defaultDisplay.height,
screenWidth: defaultDisplay.width
}));
});
} catch (exception) {
console.error('Failed to register callback. Code: ' + JSON.stringify(exception));
}
}
build() {
Column() {
Button(".........")
}
.height("100%")
.width("100%")
}
}
折叠模式变更取屏幕宽高 的场景下,应该监听foldDisplayModeChange,再用display.getDefaultDisplaySync()去取宽高
接口参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-display-V5\#displayonfolddisplaymodechange10