HarmonyOS 横屏状态下获取组件的宽高
前一个页面是竖屏, 下一个页面是横屏, 设置横屏使用的方式是:
aboutToAppear() {  
   window.getLastWindow(context, (err: BusinessError, win)=>{  
    try {  
      //设置全屏  
      win.setWindowLayoutFullScreen(true)  
      //设置横屏  
      win.setPreferredOrientation(window.Orientation.AUTO_ROTATION_LANDSCAPE)  
      //不显示导航栏、状态栏  
      win.setWindowSystemBarEnable([])  
    } catch {  
      trackD('requestFullScreen fail')  
    }  
  });  
}获取组件尺寸的方式是:
.onAreaChange((oldValue: Area, newValue: Area) => {  
      this.videoWidth = new Number(newValue.width).valueOf()  
      this.videoHeight = new Number(newValue.height).valueOf()  
      this.adjustChatInit()  
    })现在有两个问题:
1.设置横屏的方式目前采用的aboutToAppear中设置, 有点滞后, 页面级别横屏,有没有其他方式。
2.竖屏到横屏onAreaChange会走两次,第一次还是竖屏的尺寸。
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS 折叠屏如何在展开状态下获取折叠时的屏幕宽高信息 
1199浏览  • 1回复 待解决
HarmonyOS Navigation组件,如何获取分栏与不分栏状态下的页面宽高 
763浏览  • 1回复 待解决
如何在全屏沉浸式且在横屏的状态下获取状态栏,刘海屏,导航栏他们的间距 
550浏览  • 1回复 待解决
HarmonyOS 下刘海的高宽获取不到 
765浏览  • 1回复 待解决
HarmonyOS 折叠屏展开的分屏状态下app怎么正确获取“屏幕”宽度? 
1141浏览  • 1回复 待解决
ArkTs如何获取组件的宽高? 
6217浏览  • 1回复 待解决
HarmonyOS 如何获取组件的大小,宽高? 
1654浏览  • 1回复 待解决
怎么获取组件的宽高(组件宽高是自适应的,没有固定大小)? 
3970浏览  • 1回复 待解决
TextInput组件输入状态下隐藏光标 
2767浏览  • 1回复 待解决
如何设置组件不同状态下的样式 
3000浏览  • 1回复 待解决
何设置组件不同状态下的样式 
3180浏览  • 1回复 待解决
HarmonyOS如何获取指定子组件的宽高 
3178浏览  • 1回复 待解决
HarmonyOS 获取图片的宽高 
1393浏览  • 1回复 待解决
HarmonyOS  是否存在方法获取某个组件的宽高 
1049浏览  • 1回复 待解决
获取Column最终的宽高 
1400浏览  • 1回复 待解决
求大佬告知如何获取组件宽高 
1326浏览  • 1回复 待解决
如何获取组件的宽高,你学会了吗? 
3929浏览  • 1回复 待解决
HarmonyOS  如何获取Webview的宽高 
926浏览  • 1回复 待解决
HarmonyOS 组件的宽高设置auto,不生效,默认父组件全部宽高 
1610浏览  • 1回复 待解决
HarmonyOS Button组件disable状态下的默认蒙版怎么去掉 
916浏览  • 1回复 待解决
如何获取组件宽高和在屏幕上的位置 
5903浏览  • 2回复 待解决
在视频播放器播放时使竖屏播放切换为横屏播放如何更改视频的宽高? 
10949浏览  • 1回复 待解决
如何获取窗口的宽高信息 
3447浏览  • 1回复 待解决
熄屏状态下网络请求失败 
3189浏览  • 1回复 待解决
HarmonyOS 查询当前状态是横屏还是竖屏 
2088浏览  • 1回复 待解决





















1. 您可以使用onPageShow、onPageHide来设置页面级别的横屏
或者您在上一个界面跳转第二个界面的时候调用横屏,demo以下。
2.onAreaChange 会在组件创建和布局变化时触发,从竖屏到横屏组件先创建后横屏改变布局,所以触发了两次。你可以在内部做一个判断。看看哪个时创建时触发的,哪个是布局变化时触发的。如下: