鸿蒙_横竖屏切换

//参考链接

https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-landscape-and-portrait-development#section1188593118171

//方法一:配置module.json5的orientation字段

{

  "module": {

    // ...

    "abilities": [

      {

        "name": "EntryAbility",

        // ...


"orientation":"auto_rotation", //设置随传感器旋转

//        "orientation": "landscape", //设置横屏

        // ...

      }

    ],

    // ...

  }

}


//方法二


//代码

// EntryAbility.ets

import { UIAbility } from '@kit.AbilityKit';

import { BusinessError } from '@kit.BasicServicesKit';

export default class EntryAbility extends UIAbility {

  // ...

  onWindowStageCreate(windowStage: window.WindowStage): void {

    console.info('onWindowStageCreate');

    let windowClass: window.Window | undefined = undefined;

    windowStage.getMainWindow((err: BusinessError, data) => {

      const errCode: number = err.code;

      if (errCode) {

        console.error(`Failed to obtain the main window. Cause code: ${err.code}, message: ${err.message}`);

        return;

      }

      windowClass = data;

      let orientation = window.Orientation.AUTO_ROTATION;


      try {

        windowClass.setPreferredOrientation(orientation, (err: BusinessError) => {

          const errCode: number = err.code;

          if (errCode) {

            console.error(`Failed to set window orientation. Cause code: ${err.code}, message: ${err.message}`);

            return;

          }

          console.info('Succeeded in setting window orientation.');

        });

      } catch (exception) {

        console.error(`Failed to set window orientation. Cause code: ${exception.code}, message: ${exception.message}`);

      }

    });

  }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容