1# @ohos.uiAppearance (用户界面外观)(系统接口) 2 3用户界面外观提供管理系统外观的一些基础能力,目前仅包括深浅色模式配置。 4 5> **说明:** 6> 7> 从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8> 9> 本模块接口为系统接口。 10 11 12## 导入模块 13 14```ts 15import { uiAppearance } from '@kit.ArkUI' 16``` 17 18 19## DarkMode 20 21深色模式枚举。 22 23 24**系统能力:** SystemCapability.ArkUI.UiAppearance 25 26| 名称 | 值 | 说明 | 27| -- | -- | -- | 28| ALWAYS_DARK | 0 | 系统始终为深色。 | 29| ALWAYS_LIGHT | 1 | 系统始终为浅色。 | 30 31 32## uiAppearance.setDarkMode 33 34setDarkMode(mode: DarkMode, callback: AsyncCallback\<void>): void 35 36设置系统深色模式。 37 38**需要权限:** ohos.permission.UPDATE_CONFIGURATION 39 40**系统能力:** SystemCapability.ArkUI.UiAppearance 41 42**参数:** 43 44| 参数名 | 类型 | 必填 | 说明 | 45| -- | -- | -- | -- | 46| mode | [DarkMode](#darkmode) | 是 | 指定系统的深色模式配置 | 47| callback | AsyncCallback\<void>| 是 | 配置深色模式的异步回调 | 48 49**错误码:** 50 51错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[errcode-uiappearance](errorcode-uiappearance.md)。 52 53| 错误码ID | 错误信息 | 54| -- | -- | 55| 201 | Permission denied. | 56| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3. Parameter verification failed. | 57| 500001 | Internal error. | 58 59**示例:** 60 61 ```ts 62import { uiAppearance } from '@kit.ArkUI' 63import { BusinessError } from '@kit.BasicServicesKit'; 64try { 65 uiAppearance.setDarkMode(uiAppearance.DarkMode.ALWAYS_DARK, (error) => { 66 if (error) { 67 console.error('Set dark-mode failed, ' + error.message); 68 } else { 69 console.info('Set dark-mode successfully.'); 70 } 71 }) 72} catch (error) { 73 let message = (error as BusinessError).message; 74 console.error('Set dark-mode failed, ' + message); 75} 76 ``` 77 78 79## uiAppearance.setDarkMode 80 81setDarkMode(mode: DarkMode): Promise\<void>; 82 83设置系统深色模式。 84 85**需要权限:** ohos.permission.UPDATE_CONFIGURATION 86 87**系统能力:** SystemCapability.ArkUI.UiAppearance 88 89**参数:** 90 91| 参数名 | 类型 | 必填 | 说明 | 92| -- | -- | -- | -- | 93| mode | [DarkMode](#darkmode) | 是 | 指定系统深色模式配置 | 94 95**返回值:** 96 97| 类型 | 说明 | 98| ------ | ------------------------------ | 99| Promise\<void> | Promise对象。无返回结果的Promise对象。| 100 101**错误码:** 102 103错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[errcode-uiappearance](errorcode-uiappearance.md)。 104 105| 错误码ID | 错误信息 | 106| -- | -- | 107| 201 | Permission denied. | 108| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3. Parameter verification failed. | 109| 500001 | Internal error. | 110 111**示例:** 112 113 ```ts 114import { uiAppearance } from '@kit.ArkUI' 115import { BusinessError } from '@kit.BasicServicesKit'; 116try { 117 uiAppearance.setDarkMode(uiAppearance.DarkMode.ALWAYS_DARK).then(() => { 118 console.info('Set dark-mode successfully.'); 119 }).catch((error:Error) => { 120 console.error('Set dark-mode failed, ' + error.message); 121 }); 122} catch (error) { 123 let message = (error as BusinessError).message; 124 console.error('Set dark-mode failed, ' + message); 125} 126 ``` 127 128 129## uiAppearance.getDarkMode 130 131getDarkMode(): DarkMode; 132 133获取当前的深色模式配置。 134 135**需要权限:** ohos.permission.UPDATE_CONFIGURATION 136 137**系统能力:** SystemCapability.ArkUI.UiAppearance 138 139**返回值:** 140 141| 类型 | 说明 | 142| -- | -- | 143|[DarkMode](#darkmode) | 系统当前的深色模式配置 | 144 145**错误码:** 146 147错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[errcode-uiappearance](errorcode-uiappearance.md)。 148 149| 错误码ID | 错误信息 | 150| -- | -- | 151| 201 | Permission denied. | 152| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3. Parameter verification failed. | 153| 500001 | Internal error. | 154 155**示例:** 156 157 ```ts 158import { uiAppearance } from '@kit.ArkUI' 159import { BusinessError } from '@kit.BasicServicesKit'; 160try { 161 let darkMode = uiAppearance.getDarkMode(); 162 console.info('Get dark-mode ' + darkMode); 163} catch (error) { 164 let message = (error as BusinessError).message; 165 console.error('Get dark-mode failed, ' + message); 166} 167 ``` 168 169 170## uiAppearance.setFontScale<sup>12+<sup> 171 172setFontScale(fontScale: number): Promise<void> 173 174设置系统字体大小。 175 176**需要权限:** ohos.permission.UPDATE_CONFIGURATION 177 178**系统能力:** SystemCapability.ArkUI.UiAppearance 179 180**系统接口:** 此接口为系统接口。 181 182**参数:** 183 184| 参数名 | 类型 | 必填 | 说明 | 185| -- | -- | -- | -- | 186| fontScale | number | 是 | 需要设置的字体大小。 | 187 188**返回值:** 189 190| 类型 | 说明 | 191| -- | -- | 192| Promise\<void> | Promise对象。无返回结果的Promise对象。| 193 194**错误码:** 195 196错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[errcode-uiappearance](errorcode-uiappearance.md)。 197 198| 错误码ID | 错误信息 | 199| -- | -- | 200| 201 | Permission denied. | 201| 202 | Permission verification failed. A non-system application calls a system API. | 202| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3. Parameter verification failed. | 203| 500001 | Internal error. | 204 205**示例:** 206 207 ```ts 208import { uiAppearance } from '@kit.ArkUI' 209import { BusinessError } from '@kit.BasicServicesKit'; 210 211let fontScale = 10; 212 213try { 214 uiAppearance.setFontScale(fontScale).then(() => { 215 console.info('Set fontScale successfully.'); 216 }).catch((error:Error) => { 217 console.error('Set fontScale failed, ' + error.message); 218 }); 219} catch (error) { 220 let message = (error as BusinessError).message; 221 console.error('Set fontScale failed, ' + message); 222} 223 ``` 224 225 226## uiAppearance.getFontScale<sup>12+<sup> 227 228getFontScale(): number 229 230获取系统字体大小。 231 232**需要权限:** ohos.permission.UPDATE_CONFIGURATION 233 234**系统能力:** SystemCapability.ArkUI.UiAppearance 235 236**系统接口:** 此接口为系统接口。 237 238**返回值:** 239 240| 类型 | 说明 | 241| -- | -- | 242| number | 系统字体大小。 | 243 244**错误码:** 245 246错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[errcode-uiappearance](errorcode-uiappearance.md)。 247 248| 错误码ID | 错误信息 | 249| -- | -- | 250| 201 | Permission denied. | 251| 202 | Permission verification failed. A non-system application calls a system API. | 252| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3. Parameter verification failed. | 253| 500001 | Internal error. | 254 255**示例:** 256 257 ```ts 258import { uiAppearance } from '@kit.ArkUI' 259import { BusinessError } from '@kit.BasicServicesKit'; 260try { 261 let fontScale = uiAppearance.getFontScale(); 262 console.info('Get fontScale ' + fontScale); 263} catch (error) { 264 let message = (error as BusinessError).message; 265 console.error('Get fontScale failed, ' + message); 266} 267 ``` 268 269## uiAppearance.setFontWeightScale<sup>12+<sup> 270 271setFontWeightScale(fontWeightScale: number): Promise<void> 272 273设置系统字体粗细。 274 275**需要权限:** ohos.permission.UPDATE_CONFIGURATION 276 277**系统能力:** SystemCapability.ArkUI.UiAppearance 278 279**系统接口:** 此接口为系统接口。 280 281**参数:** 282 283| 参数名 | 类型 | 必填 | 说明 | 284| -- | -- | -- | -- | 285| fontWeightScale | number | 是 | 需要设置的字体粗细。 | 286 287**返回值:** 288 289| 类型 | 说明 | 290| -- | -- | 291| Promise\<void> | Promise对象。无返回结果的Promise对象。| 292 293**错误码:** 294 295错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[errcode-uiappearance](errorcode-uiappearance.md)。 296 297| 错误码ID | 错误信息 | 298| -- | -- | 299| 201 | Permission denied. | 300| 202 | Permission verification failed. A non-system application calls a system API. | 301| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3. Parameter verification failed. | 302| 500001 | Internal error. | 303 304**示例:** 305 306 ```ts 307import { uiAppearance } from '@kit.ArkUI' 308import { BusinessError } from '@kit.BasicServicesKit'; 309 310let fontWeightScale = 1; 311 312try { 313 uiAppearance.setFontWeightScale(fontWeightScale).then(() => { 314 console.info('Set fontWeightScale successfully.'); 315 }).catch((error:Error) => { 316 console.error('Set fontWeightScale failed, ' + error.message); 317 }); 318} catch (error) { 319 let message = (error as BusinessError).message; 320 console.error('Set fontWeightScale failed, ' + message); 321} 322 ``` 323 324 325## uiAppearance.getFontWeightScale<sup>12+<sup> 326 327getFontWeightScale(): number 328 329获取系统字体大小。 330 331**需要权限:** ohos.permission.UPDATE_CONFIGURATION 332 333**系统能力:** SystemCapability.ArkUI.UiAppearance 334 335**系统接口:** 此接口为系统接口。 336 337**返回值:** 338 339| 类型 | 说明 | 340| -- | -- | 341| number | 系统字体粗细。 | 342 343**错误码:** 344 345错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[errcode-uiappearance](errorcode-uiappearance.md)。 346 347| 错误码ID | 错误信息 | 348| -- | -- | 349| 201 | Permission denied. | 350| 202 | Permission verification failed. A non-system application calls a system API. | 351| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3. Parameter verification failed. | 352| 500001 | Internal error. | 353 354**示例:** 355 356 ```ts 357import { uiAppearance } from '@kit.ArkUI' 358import { BusinessError } from '@kit.BasicServicesKit'; 359try { 360 let fontWeightScale = uiAppearance.getFontWeightScale(); 361 console.info('Get fontScale ' + fontWeightScale); 362} catch (error) { 363 let message = (error as BusinessError).message; 364 console.error('Get fontWeightScale failed, ' + message); 365} 366 ```