HarmonyOS 应用新建子窗口设置显示方向未生效

子窗口getPreferredOrientation获取到的是横向 设置没问题,但是ui显示还是纵向的

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

直接设置主窗口的方向即可。参考demo:

import window from '@ohos.window';

@Entry
@Component
struct Index {
  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Text('反向横屏')
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(async ()=>{

            try {
              const topWindow = await window.getLastWindow(getContext(this));
              console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(topWindow));
              await topWindow.setPreferredOrientation(window.Orientation.LANDSCAPE_INVERTED);
              console.info('Succeeded in setting window orientation.');
            } catch (error) {
              console.error('Failed to obtain or set the top window. Cause: ' + JSON.stringify(error));
            }
            /*window.getLastWindow(getContext(this),(err,win)=>{
              win.setPreferredOrientation(window.Orientation.LANDSCAPE_INVERTED)
            })*/
          })

        Text("竖屏")
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .onClick(async ()=>{
            try {
              const topWindow = await window.getLastWindow(getContext(this));
              console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(topWindow));
              await topWindow.setPreferredOrientation(window.Orientation.PORTRAIT);
              console.info('Succeeded in setting window orientation.');
            } catch (error) {
              console.error('Failed to obtain or set the top window. Cause: ' + JSON.stringify(error));
            }
            /*window.getLastWindow(getContext(this),(err,win)=>{
              win.setPreferredOrientation(window.Orientation.PORTRAIT)
            })*/
          })

      }
      .width('100%')
    }
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
设置窗口透明度生效
1728浏览 • 1回复 待解决
如何设置窗口的背景颜色?
381浏览 • 1回复 待解决
如何实现一个页面显示窗口
690浏览 • 1回复 待解决
HarmonyOS api10如何给窗口设置圆角
412浏览 • 1回复 待解决
应用窗口的开发流程是什么
1934浏览 • 1回复 待解决
HarmonyOS 华为地图显示
354浏览 • 1回复 待解决
基于窗口实现应用内悬浮窗
769浏览 • 1回复 待解决
使用List lazyForeach时,reuseId生效
323浏览 • 1回复 待解决
如何获取当前window的窗口方向
448浏览 • 1回复 待解决
HarmonyOS 窗口路由切换问题
139浏览 • 1回复 待解决