文档管理中心
您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明
API参考应用框架ArkUI(方舟UI框架)ArkTS组件响应式环境变量@Env:环境变量

@Env:环境变量

Phone22+PC/2in122+Tablet22+TV22+Wearable22+

@Env装饰器用于获取系统环境变量,帮助开发者感知系统环境变化并动态调整UI显示。

说明

本模块首批接口从API version 22开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

开发者指南见:@Env开发者指南

@Env

Phone22+PC/2in122+Tablet22+TV22+Wearable22+

Env<T>(key: SystemEnvKey<T> | SystemProperties): PropertyDecorator

用于获取系统环境变量。API版本26.0.0之前仅支持传入SystemProperties枚举,API版本26.0.0及以后版本支持传入SystemEnvKey<T>类或SystemProperties枚举作为参数。

模型约束:此接口仅可在Stage模型下使用。

元服务API: 从API version 22开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
key SystemEnvKey<T> | SystemProperties 环境变量key。

返回值:

展开
类型 说明
PropertyDecorator 属性装饰器,开发者无需关注该返回值。

示例:

import { uiObserver } from '@kit.ArkUI';

@Entry
@Component
struct Index {
  // @Env读取系统环境变量
  @Env(SystemProperties.BREAK_POINT) breakpoint: uiObserver.WindowSizeLayoutBreakpointInfo;

  build() {
    Column() {
        Text(`breakpoint height ${this.breakpoint.heightBreakpoint}`)
        Text(`breakpoint width ${this.breakpoint.widthBreakpoint}`)
    }
  }
}

EnvDecorator

type EnvDecorator = (value: SystemProperties) => PropertyDecorator

定义EnvDecorator属性装饰器类型。

模型约束:此接口仅可在Stage模型下使用。

元服务API: 从API version 22开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
value SystemProperties 环境变量属性名,用于指定要获取的系统环境变量。

返回值:

展开
类型 说明
PropertyDecorator 属性装饰器,开发者无需关注该返回值。

错误码:

详细介绍请参见环境变量错误码

展开
错误码ID 错误信息
140000 Invalid key for @Env

SystemProperties

Phone22+PC/2in122+Tablet22+TV22+Wearable22+

定义环境变量枚举值,用于通过@Env装饰器获取系统环境变量。

系统能力: SystemCapability.ArkUI.ArkUI.Full

展开
名称 说明
BREAK_POINT 'system.arkui.breakpoint'

@Env变量参数,通过@Env(SystemProperties.BREAK_POINT)可获取WindowSizeLayoutBreakpointInfo实例。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的尺寸布局断点信息。

元服务API: 从API version 22开始,该接口支持在元服务中使用。

模型约束:此接口仅可在Stage模型下使用。

WINDOW_SIZE23+ 'system.window.size'

@Env变量参数,通过@Env(SystemProperties.WINDOW_SIZE)可获取SizeInVP实例。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的大小信息,单位为vp。

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

模型约束:此接口仅可在Stage模型下使用。

WINDOW_SIZE_PX23+ 'system.window.size.px'

@Env变量参数,通过@Env(SystemProperties.WINDOW_SIZE_PX)可获取Size实例。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的大小信息,单位为px。

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

模型约束:此接口仅可在Stage模型下使用。

WINDOW_AVOID_AREA23+ 'system.window.avoidarea'

@Env变量参数,通过@Env(SystemProperties.WINDOW_AVOID_AREA)可获取UIEnvWindowAvoidAreaInfoVP实例。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的避让区域信息,单位为vp。

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

模型约束:此接口仅可在Stage模型下使用。

WINDOW_AVOID_AREA_PX23+ 'system.window.avoidarea.px'

@Env变量参数,通过@Env(SystemProperties.WINDOW_AVOID_AREA_PX)可获取UIEnvWindowAvoidAreaInfoPX实例。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的避让区域信息,单位为px。

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

模型约束:此接口仅可在Stage模型下使用。

SystemEnvKey<T>

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

系统环境变量Key对应的类型。

属性

起始版本: 26.0.0

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

展开
名称 类型 只读 可选 说明
type T 系统环境变量Key对应值的数据类型,默认值为undefined。

constructor

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

protected constructor()

用于创建该类的实例对象。

起始版本: 26.0.0

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

WritableSystemEnvKey<T>

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

定义可写的系统环境变量Key,继承自SystemEnvKey<T>

起始版本: 26.0.0

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

ReadonlySystemEnvKey<T>

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

定义只读的系统环境变量Key,继承自SystemEnvKey<T>

起始版本: 26.0.0

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

WritableEnvKey

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

定义可写的系统环境变量Key集合,用于通过@Env装饰器获取对应的系统环境变量。可通过WithEnv中的env方法设置局部环境变量值以影响后代组件渲染,具体示例请参见示例2(设置局部布局方向)

起始版本: 26.0.0

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

展开
名称 类型 只读 可选 说明
DIRECTION WritableSystemEnvKey<Direction>

@Env变量参数,通过@Env(WritableEnvKey.DIRECTION)可获取Direction枚举类型的值。

当该装饰器声明在@Component@ComponentV2中时,用于获取窗口所在屏幕的布局方向。

FONT_SCALE WritableSystemEnvKey<number>

@Env变量参数,通过@Env(WritableEnvKey.FONT_SCALE)可获取number类型的值,取值无上限,小于等于0的值按0处理。

当该装饰器声明在@Component@ComponentV2中时,用于为后代组件提供局部字体缩放倍数。

ReadonlyEnvKey

Phone26.0.0+PC/2in126.0.0+Tablet26.0.0+TV26.0.0+Wearable26.0.0+

定义只读的系统环境变量key集合,用于通过@Env装饰器获取对应的系统环境变量。

起始版本: 26.0.0

模型约束: 此接口仅可在Stage模型下使用。

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

属性

展开
名称 类型 只读 可选 说明
WINDOW_AVOID_AREA ReadonlySystemEnvKey<window.UIEnvWindowAvoidAreaInfoVP>

@Env变量参数,通过@Env(ReadonlyEnvKey.WINDOW_AVOID_AREA)可获取UIEnvWindowAvoidAreaInfoVP实例。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的避让区域信息,单位为vp。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

WINDOW_AVOID_AREA_PX ReadonlySystemEnvKey<window.UIEnvWindowAvoidAreaInfoPX>

@Env变量参数,通过@Env(ReadonlyEnvKey.WINDOW_AVOID_AREA_PX)可获取UIEnvWindowAvoidAreaInfoPX实例。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的避让区域信息,单位为px。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

WINDOW_SIZE ReadonlySystemEnvKey<window.SizeInVP>

@Env变量参数,通过@Env(ReadonlyEnvKey.WINDOW_SIZE)可获取SizeInVP实例。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的大小信息,单位为vp。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

WINDOW_SIZE_PX ReadonlySystemEnvKey<window.Size>

@Env变量参数,通过@Env(ReadonlyEnvKey.WINDOW_SIZE_PX)可获取Size实例。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的大小信息,单位为px。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

WINDOW_DISPLAY_ID ReadonlySystemEnvKey<number>

@Env变量参数,通过@Env(ReadonlyEnvKey.WINDOW_DISPLAY_ID)可获取number类型的值。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的屏幕ID。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

WINDOW_SYSTEM_DENSITY ReadonlySystemEnvKey<number>

@Env变量参数,通过@Env(ReadonlyEnvKey.WINDOW_SYSTEM_DENSITY)可获取number类型的值。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口的系统显示大小缩放系数。该参数为浮点数,取值范围为[0.5, 4.0]或-1.0。4.0表示窗口可显示的最大显示大小缩放系数,-1.0表示窗口使用系统显示大小缩放系数。

起始版本: 26.0.0

元服务API: 从API版本26.0.0开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

WINDOW_IS_FOCUSED ReadonlySystemEnvKey<boolean>

@Env变量参数,通过@Env(ReadonlyEnvKey.WINDOW_IS_FOCUSED)可获取boolean类型的值。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口是否处于获焦状态,true表示当前处于获焦状态,false表示当前不处于获焦状态。

起始版本: 26.0.0

模型约束: 此接口仅可在Stage模型下使用。

WINDOW_IS_HIGHLIGHTED ReadonlySystemEnvKey<boolean>

@Env变量参数,通过@Env(ReadonlyEnvKey.WINDOW_IS_HIGHLIGHTED)可获取boolean类型的值。

当该装饰器声明在@Component@ComponentV2中时,用于获取当前自定义组件所在窗口是否处于高亮状态,true表示当前处于高亮状态,false表示当前不处于高亮状态。

起始版本: 26.0.0

模型约束: 此接口仅可在Stage模型下使用。

在 API参考 中进行搜索
请输入您想要搜索的关键词