小白超简单判断鸿蒙PuraX是内外屏的方法(无脑版)

        首先定义一个状态变量:boolean去准备接收是否为内外屏

然后定义

listenToScreenChanges()
listenToScreenChanges(){
    let callbackStatus =  (data: display.FoldStatus) => {
      let w =  display.getDefaultDisplaySync().width;
      let h =  display.getDefaultDisplaySync().height;
      console.log(this.isStatus+'about屏幕宽度:' + w + ', status: ' + data);
      console.log(this.isStatus+'about屏幕高度度:' + h + ', status: ' + data);
      if (data===2&&w===980){
        this.isStatus=true
        console.log(this.isStatus+'about屏幕宽度' + w + ', status: ' + data);
      }else {
        this.isStatus=false
        console.log(this.isStatus+'屏幕宽度:' + w + ', status: ' + data)
      }
    };
    display.on('foldStatusChange', callbackStatus);
  }

最后在

aboutToAppear()里面执行

值得注意的是这段代码在页面第一次打开的时候不会执行逻辑,只会开启监听,第二点

display.on("foloDisplayModeChange")不能在这里使用会有bug===>在连续进入两个页面后进入外屏然后返回打开内屏会导致监听失效

当然也可以使用AppStorage在全局开启监听用StorageLink或者pop接受就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值