js-apis-uiappearance.md 3.8 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.uiAppearance (用户界面外观)
L
liukaii 已提交
2 3 4 5 6

用户界面外观提供管理系统外观的一些基础能力,目前仅包括深浅色模式配置。

> **说明:**
>
L
liukaii 已提交
7
> 从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
L
liukaii 已提交
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
>
> 本模块接口为系统接口。


## 导入模块

```ts
import uiAppearance from '@ohos.uiAppearance'
```


## DarkMode

深色模式枚举。


**系统能力:** SystemCapability.ArkUI.UiAppearance

| 名称 | 值 | 说明 |
| -- | -- | -- |
| ALWAYS_DARK | 0 | 系统始终为深色。  |
| ALWAYS_LIGHT | 1 | 系统始终为浅色。 |


## uiAppearance.setDarkMode

setDarkMode(mode: DarkMode, callback: AsyncCallback\<void>): void

设置系统深色模式。

**需要权限:** ohos.permission.UPDATE_CONFIGURATION

**系统能力:** SystemCapability.ArkUI.UiAppearance

**参数:** 
43

L
liukaii 已提交
44 45 46 47 48
| 参数名 | 类型 | 必填 | 说明 |
| -- | -- | -- | -- |
| mode | [DarkMode](#darkmode) | 是 | 指定系统的深色模式配置 |
| callback | AsyncCallback\<void>| 是 | 配置深色模式的异步回调 |

L
liukaii 已提交
49 50 51 52
**错误码:**

错误码详细介绍请参考[errcode-uiappearance](../errorcodes/errorcode-uiappearance.md)

53
| 错误码ID | 错误信息 |
L
liukaii 已提交
54 55 56
| -- | -- |
| 500001 | Internal error. |

L
liukaii 已提交
57
**示例:** 
L
liukaii 已提交
58

L
liukaii 已提交
59
  ```ts
L
lixinnan 已提交
60 61
import uiAppearance from '@ohos.uiAppearance'
import { BusinessError } from '@ohos.base';
L
liukaii 已提交
62 63 64 65 66 67 68 69 70
try {
    uiAppearance.setDarkMode(uiAppearance.DarkMode.ALWAYS_DARK, (error) => {
      if (error) {
        console.error('Set dark-mode failed, ' + error.message);
      } else {
        console.info('Set dark-mode successfully.');
      }
    })
} catch (error) {
L
lixinnan 已提交
71 72
    let message = (error as BusinessError).message;
    console.error('Set dark-mode failed, ' + message);
L
liukaii 已提交
73
}
L
liukaii 已提交
74 75 76 77 78 79 80 81 82 83 84 85 86 87
  ```


## uiAppearance.setDarkMode

setDarkMode(mode: DarkMode): Promise\<void>;

设置系统深色模式。

**需要权限:** ohos.permission.UPDATE_CONFIGURATION

**系统能力:** SystemCapability.ArkUI.UiAppearance

**参数:** 
88

L
liukaii 已提交
89 90 91 92 93 94 95 96 97 98
| 参数名 | 类型 | 必填 | 说明 |
| -- | -- | -- | -- |
| mode | [DarkMode](#darkmode) | 是 | 指定系统深色模式配置 |

**返回值:**

| 类型   | 说明                           |
| ------ | ------------------------------ |
| Promise\<void> | Promise对象。无返回结果的Promise对象。|

L
liukaii 已提交
99 100 101 102
**错误码:**

错误码详细介绍请参考[errcode-uiappearance](../errorcodes/errorcode-uiappearance.md)

103
| 错误码ID | 错误信息 |
L
liukaii 已提交
104 105 106
| -- | -- |
| 500001 | Internal error. |

L
liukaii 已提交
107
**示例:** 
L
liukaii 已提交
108

L
liukaii 已提交
109
  ```ts
L
lixinnan 已提交
110 111
import uiAppearance from '@ohos.uiAppearance'
import { BusinessError } from '@ohos.base';
L
liukaii 已提交
112 113 114
try {
    uiAppearance.setDarkMode(uiAppearance.DarkMode.ALWAYS_DARK).then(() => {
      console.info('Set dark-mode successfully.');
L
lixinnan 已提交
115
    }).catch((error:Error) => {
L
liukaii 已提交
116 117 118
      console.error('Set dark-mode failed, ' + error.message);
    });
} catch (error) {
L
lixinnan 已提交
119 120
    let message = (error as BusinessError).message;
    console.error('Set dark-mode failed, ' + message);
L
liukaii 已提交
121
}
L
liukaii 已提交
122 123 124 125 126 127 128 129 130 131 132 133 134 135
  ```


## uiAppearance.getDarkMode

getDarkMode(): DarkMode;

获取当前的深色模式配置。

**需要权限:** ohos.permission.UPDATE_CONFIGURATION

**系统能力:** SystemCapability.ArkUI.UiAppearance

**返回值:** 
136

L
liukaii 已提交
137 138 139 140
| 类型 | 说明 |
| -- | -- |
|[DarkMode](#darkmode) | 系统当前的深色模式配置 |

L
liukaii 已提交
141 142 143 144
**错误码:**

错误码详细介绍请参考[errcode-uiappearance](../errorcodes/errorcode-uiappearance.md)

145
| 错误码ID | 错误信息 |
L
liukaii 已提交
146 147 148
| -- | -- |
| 500001 | Internal error. |

L
liukaii 已提交
149
**示例:** 
L
liukaii 已提交
150

L
liukaii 已提交
151
  ```ts
L
lixinnan 已提交
152 153
import uiAppearance from '@ohos.uiAppearance'
import { BusinessError } from '@ohos.base';
L
liukaii 已提交
154 155
try {
    let darkMode = uiAppearance.getDarkMode();
L
lixinnan 已提交
156
    console.info('Get dark-mode ' + darkMode);
L
liukaii 已提交
157
} catch (error) {
L
lixinnan 已提交
158 159
    let message = (error as BusinessError).message;
    console.error('Get dark-mode failed, ' + message);
L
liukaii 已提交
160
}
L
liukaii 已提交
161
  ```