HarmonyOS 鸿蒙Next 如何实现监视屏幕旋转display.on()
HarmonyOS 鸿蒙Next 如何实现监视屏幕旋转display.on() 本来是想用rotation获取方向,后来发现不能实时监控,就想着用display.on(),除了示例代码,也没看到更具体地展示。我自己去试,但是不触发回调里设定的代码。有会用这个的嘛,求教
4 回复
重新看了下媒体查询的监听绑定位置,同理替换成display.on()再去绑定自己需要的回调函数即可。
比如媒体查询是这样的:
aboutToAppear() {
// 绑定当前应用实例
portraitFunc = this.onPortrait.bind(this);
// 绑定回调函数
this.listener.on('change', portraitFunc);
}
用display.on()就是:
aboutToAppear() {
// 绑定回调函数
display.on(type, Callback);
}
更多关于HarmonyOS 鸿蒙Next 如何实现监视屏幕旋转display.on()的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
mediaquery.matchMediaSync('(orientation: landscape)')
这个媒体监视也是一个效果吗?
在HarmonyOS中,监视屏幕旋转可以通过Display
模块的on
方法实现。Display
模块提供了对屏幕状态和属性的访问与控制。要监视屏幕旋转,可以使用Display.on
方法监听rotation
事件。以下是一个简单的示例代码:
import display from '@ohos.display';
// 获取默认显示器的信息
let defaultDisplay = display.getDefaultDisplaySync();
// 监听屏幕旋转事件
defaultDisplay.on('rotation', (data) => {
console.log('屏幕旋转角度: ' + data.rotation);
});
在这段代码中,display.getDefaultDisplaySync()
用于获取默认显示器的信息,defaultDisplay.on('rotation', callback)
用于监听屏幕旋转事件。当屏幕旋转时,回调函数会被触发,并输出当前的旋转角度。
rotation
事件返回的对象中包含rotation
属性,表示屏幕的当前旋转角度,通常为0、90、180或270度。通过这个事件,可以实时获取屏幕的旋转状态并执行相应的操作。