W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
開發(fā)者如果需要應(yīng)用程序運行的設(shè)備的環(huán)境參數(shù),以此來作出不同的場景判斷,比如多語言,暗黑模式等,需要用到Environment設(shè)備環(huán)境查詢。
Environment是ArkUI框架在應(yīng)用程序啟動時創(chuàng)建的單例對象。它為AppStorage提供了一系列描述應(yīng)用程序運行狀態(tài)的屬性。Environment的所有屬性都是不可變的(即應(yīng)用不可寫入),所有的屬性都是簡單類型。
鍵 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
accessibilityEnabled | boolean | 獲取無障礙屏幕讀取是否啟用。 |
colorMode | ColorMode enum | 色彩模型類型:選項為ColorMode.light: 淺色,ColorMode.Dark: 深色。 |
fontScale | number | 字體大小比例,范圍: [0.85, 1.45]。 |
fontWeightScale | LayoutDirection | 字體粗細程度,范圍: [0.6, 1.6]。 |
layoutDirection | boolean | 布局方向類型:包括LayoutDirection.LTR: 從左到右,LayoutDirection.RTL: 從右到左。 |
languageCode | string | 當(dāng)前系統(tǒng)語言值,取值必須為小寫字母, 例如zh。 |
- // 將設(shè)備的語言code存入AppStorage,默認值為en
- Environment.EnvProp('languageCode', 'en');
- @StorageProp('languageCode') lang : string = 'en';
設(shè)備環(huán)境到Component的更新鏈:Environment --> AppStorage -->Component。
@StorageProp關(guān)聯(lián)的環(huán)境參數(shù)可以在本地更改,但不能同步回AppStorage中,因為應(yīng)用對環(huán)境變量參數(shù)是不可寫的,只能在Environment中查詢。
- // 將設(shè)備languageCode存入AppStorage中
- Environment.EnvProp('languageCode', 'en');
- @Entry
- @Component
- struct Index {
- @StorageProp('languageCode') languageCode: string = 'en';
- build() {
- Row() {
- Column() {
- // 輸出當(dāng)前設(shè)備的languageCode
- Text(this.languageCode)
- }
- }
- }
- }
- // 使用Environment.EnvProp將設(shè)備運行l(wèi)anguageCode存入AppStorage中;
- Environment.EnvProp('languageCode', 'en');
- // 從AppStorage獲取單向綁定的languageCode的變量
- const lang: SubscribedAbstractProperty<string> = AppStorage.Prop('languageCode');
- if (lang.get() === 'zh') {
- console.info('你好');
- } else {
- console.info('Hello!');
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: