更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 应用开发 > 鸿蒙开发ARK UI技术之js或ETS获取状态栏高度的方法

鸿蒙开发ARK UI技术之js或ETS获取状态栏高度的方法

更新时间:2022-02-19 15:17:39浏览次数:993+次

在HarmonyOS鸿蒙项目中如何获取到状态栏高度?其实,在开发中我们可以参考窗口的getAvoidArea和getTopWindow的api,分为“代码实现”、“运行效果”两个步骤进行实现。

\

\

一、代码实现

全部代码如下:

import window from '@ohos.window';

@Entry

@Component

struct Index {

  @State statusBarHeight:number=-1

  public  click(){

    window.getTopWindow((err, data) => {

      var windowClass = data;

      var type = window.AvoidAreaType.TYPE_SYSTEM;

      windowClass.getAvoidArea(type, (err, data) => {

        if (err) {

          console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));

          return;

        }

        this. statusBarHeight = data.topRect.height;

        console.log("statusBarHeight====>>>>"+this.statusBarHeight);

      });

    });

  }

  build() {

    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {

      Text('获取状态栏高度')

        .fontSize(50)

        .fontWeight(FontWeight.Bold)

      .onClick(this.click.bind(this))

      Text('状态栏高度'+this.statusBarHeight)

        .fontSize(50)

        .margin(10)

      .fontColor(Color.Red)

    }

    .width('100%')

    .height('100%')

  }

}

二、运行效果

以上代码所获得的效果,如下图所示:

\

相关参考:HarmonyOS鸿蒙js开发框架如何实现沉浸式状态栏