HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第23天,Environment:设备环境查询

发布于 1周前 作者 gougou168 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第23天,Environment:设备环境查询

Environment:设备环境查询

开发者如果需要应用程序运行的设备的环境参数,以此来作出不同的场景判断,比如多语言,暗黑模式等,需要用到Environment设备环境查询。

Environment是ArkUI框架在应用程序启动时创建的单例对象。它为AppStorage提供了一系列描述应用程序运行状态的属性。Environment的所有属性都是不可变的(即应用不可写入),所有的属性都是简单类型。

2、Environment内置参数

数据类型 描述
accessibilityEnabled boolean 获取无障碍屏幕读取是否启用。
colorMode ColorMode 色彩模型类型:选项为ColorMode.LIGHT: 浅色,ColorMode.DARK: 深色。
fontScale number 字体大小比例,范围: [0.85, 1.45]。
fontWeightScale number 字体粗细程度,范围: [0.6, 1.6]。
layoutDirection LayoutDirection 布局方向类型:包括LayoutDirection.LTR: 从左到右,LayoutDirection.RTL: 从右到左。
languageCode string 当前系统语言值,取值必须为小写字母, 例如zh。

3、使用场景

从UI中访问Environment参数

使用Environment.EnvProp将设备运行的环境变量存入AppStorage中:

// 将设备的语言code存入AppStorage,默认值为en
Environment.EnvProp('languageCode', 'en');

可以使用@StorageProp链接到Component中。

[@StorageProp](/user/StorageProp)('languageCode') lang : string = 'en';

设备环境到Component的更新链:Environment --> AppStorage --> Component。

说明

@StorageProp关联的环境参数可以在本地更改,但不能同步回AppStorage中,因为应用对环境变量参数是不可写的,只能在Environment中查询。

// 将设备languageCode存入AppStorage中
Environment.EnvProp('languageCode', 'en');

@Entry
@Component
struct Index {
  [@StorageProp](/user/StorageProp)('languageCode') languageCode: string = 'en';

  build() {
    Row() {
      Column() {
        // 输出当前设备的languageCode
        Text(this.languageCode)
      }
    }
  }
}

应用逻辑使用Environment

// 使用Environment.EnvProp将设备运行languageCode存入AppStorage中;
Environment.EnvProp('languageCode', 'en');
// 从AppStorage获取单向绑定的languageCode的变量
const lang: SubscribedAbstractProperty<string> = AppStorage.Prop('languageCode');

if (lang.get() === 'zh') {
  console.info('你好');
} else {
  console.info('Hello!');
}

更多关于HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第23天,Environment:设备环境查询的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS中,Environment API 用于查询设备的环境信息,例如设备类型、屏幕尺寸、屏幕方向等。通过Environment,开发者可以获取当前设备的运行环境,从而进行相应的适配和优化。

Environment 提供了以下主要功能:

  1. 设备类型查询:通过Environment.deviceType,可以获取当前设备的类型,如手机、平板、电视等。
  2. 屏幕方向查询:通过Environment.screenOrientation,可以获取当前屏幕的方向,如竖屏或横屏。
  3. 屏幕尺寸查询:通过Environment.screenWidthEnvironment.screenHeight,可以获取屏幕的宽度和高度。
  4. 语言和区域查询:通过Environment.languageEnvironment.region,可以获取设备的语言和区域设置。

例如,获取设备类型的代码如下:

import { Environment } from '@ohos.application.Environment';

let deviceType = Environment.deviceType;
console.log(`Device type: ${deviceType}`);

通过Environment API,开发者可以更好地了解设备的运行环境,从而进行针对性的开发。

更多关于HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第23天,Environment:设备环境查询的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS的ArkTS语言中,Environment模块用于查询设备的环境信息,如设备类型、屏幕尺寸、分辨率等。通过Environment,开发者可以获取设备的具体配置,从而优化应用的布局和功能。例如,使用Environment.deviceType可以判断设备是手机、平板还是电视,而Environment.screen可以获取屏幕的宽度和高度。这些信息有助于实现响应式设计,确保应用在不同设备上都能良好运行。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!