HarmonyOS-ArkUI核心API: MediaQuery
MediaQuery是一个用于相应设备状态变化的工具,比如屏幕旋转, 深色模式切换,分辨率切换等等。
·
MediaQuery是一个用于相应设备状态变化的工具,比如屏幕旋转, 深色模式切换,分辨率切换等等
API

condition详解
上述API中matchMediaSync(condition: string) : mediaQuery.MediaQueryListener condition是一个字符串, 这个字符串不是乱填的.是有格式的,接下来我们来谈谈这里应该怎么填写
格式: [媒体类型] [逻辑操作符] [(媒体特征: 值)]
我们只需要掌握三点即可
- 媒体类型 //媒体类型默认为screen.可忽略
- 逻辑操作符
-
- and : 多条件需要同时满足
- , 或者 or : 任一条件满足即可
- not : 条件取反
- 媒体特征 :
-
- width / hight 视口宽高
- orientation 屏幕方向
- dark-mode 深色模式状态
- device-type 设备类型分类
- round-screen 是否为原圆形类型
- aspect-ratio 屏幕宽高比
- resolution 物理屏幕分辨率
使用方式案例
// 创建横屏监听器
// 获取对应的mediaQuery.MediaQueryListener
const landscapeListener = mediaquery.matchMediaSync('(orientation: landscape)');
landscapeListener.on('change', (result) => {
if (result.matches) {
console.log('切换到横屏布局');
AppStorage.SetOrCreate('isLandscape', true);
} else {
console.log('切换到竖屏布局');
AppStorage.SetOrCreate('isLandscape', false);
}更多推荐
所有评论(0)