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度。通过这个事件,可以实时获取屏幕的旋转状态并执行相应的操作。

回到顶部