通过下面代码可以监听横屏竖屏切换事件:
let listener = mediaquery.matchMediaSync(’(orientation: landscape)’); //监听横屏事件那么初始化时怎样主动查询当前是横屏还是竖屏呢?
通过下面代码可以监听横屏竖屏切换事件:
let listener = mediaquery.matchMediaSync(’(orientation: landscape)’); //监听横屏事件那么初始化时怎样主动查询当前是横屏还是竖屏呢?
1 回答841 阅读✓ 已解决
1 回答1.1k 阅读
1 回答969 阅读
1 回答924 阅读
1 回答873 阅读
1 回答801 阅读
1 回答749 阅读
1.可以通过diplay.on可以监听屏幕状态改变。其中可以在module.json5中设置EntryAbility为orientation,或者使用window.setPreFerredOrientation动态设置窗口横竖屏。
2.屏幕横竖屏监听:当监听到变化时,可以通过发布订阅的方式全局通知。module.json5里面配置 “orientation”: “auto\_rotation”,让屏幕自动旋转。win.setPreferredOrientation(window.Orientation.PORTRAIT) ,设置横屏或者竖屏。win.on(“windowSizeChange”, (data) =\> {}),监听横竖屏变化。onConfigurationUpdate生命周期中监听屏幕变化。
对于窗口的横竖屏可以借助display.getDefaultDisplaySync().orientation这个属性来判断屏幕目前所处的横竖屏状态。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-display-V5
示例代码: