如何设置窗口旋转

2024-12-18 15:48:32
181次阅读
0个评论

步骤一:通过getLastWindow()、createWindow()、findWindow()中的任一方法获取到Window实例。

步骤二:通过设置setPreferredOrientation属性来设置窗口的显示方向属性,使用callback异步回调。参数Orientation提供了窗口显示方向类型枚举。

在EntryAbility.ets中的onWindowStageCreate方法中将WindowStage设置一个AppStorage。参考代码如下:

AppStorage.setOrCreate('windowStage',windowStage); 通过setPreferredOrientation可以设置旋转模式。

import { display, window } from '@kit.ArkUI'; 
 
@Component 
struct ScreenRotation { 
  windowStage: window.WindowStage = AppStorage.get('windowStage') as window.WindowStage; 
  // 获取主窗口的方式 
  mainWin: window.Window = this.windowStage.getMainWindowSync(); 
 
  onPageShow() { 
    // 获取最上层窗口的方式 
    window.getLastWindow(getContext(this)); 
    this.mainWin.setPreferredOrientation(window.Orientation.LANDSCAPE); 
    // 使用display接口获取当前旋转方向,可以放置在监听中持续获取 
    display.getDefaultDisplaySync().rotation; 
  } 
 
  build() { 
    Row() { 
      Column({ space: 10 }) { 
        Text('屏幕旋转demo') 
          .fontSize(25) 
          .margin(20) 
          .fontColor(0x3399FF) 
      }.width('100%') 
    }.height('100%').backgroundColor(Color.White) 
  } 
}
收藏00

登录 后评论。没有帐号? 注册 一个。