From 18c6fb4478117a35a7887267a28886efe8c2d1c4 Mon Sep 17 00:00:00 2001 From: liuyongkai2 Date: Wed, 4 Jun 2025 20:22:14 +0800 Subject: [PATCH] sample code Signed-off-by: liuyongkai2 --- .../UIExtensionAndAccessibility/README_zh.md | 3 +- .../build-profile.json5 | 6 +- .../AccessibilityFocusDrawLevel.ets | 102 ++++++++++++++++++ .../Index.ets | 8 ++ .../main/resources/base/element/string.json | 16 +++ 5 files changed, 131 insertions(+), 4 deletions(-) create mode 100644 code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/ets/pages/UniversalAttributesAccessibility/AccessibilityFocusDrawLevel.ets diff --git a/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/README_zh.md b/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/README_zh.md index bf3bfa428b..d908520ba4 100644 --- a/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/README_zh.md +++ b/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/README_zh.md @@ -47,6 +47,7 @@ entry/src/main/ets/ | | |---Index.ets | | |---UIExtension.ets | |---UniversalAttributesAccessibility // ArkUI 无障碍能力 +| | |---AccessibilityFocusDrawLevel.ets | | |---AccessibilityGroup.ets | | |---AccessibilityText.ets | | |---Index.ets @@ -71,7 +72,7 @@ entry/src/ohosTest/ 1.本示例仅支持标准系统上运行, 支持设备:RK3568。 -2.本示例为Stage模型,支持API18版本SDK,版本号:5.1.0.59,镜像版本号:OpenHarmony_5.1.0.59。 +2.本示例为Stage模型,支持API20版本SDK,版本号:6.0.0.35,镜像版本号:OpenHarmony_6.0.0.35。 3.本示例需要使用DevEco Studio 5.0.3 Release (Build Version: 5.0.9.300, built on March 13, 2025)及以上版本才可编译运行。 diff --git a/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/build-profile.json5 b/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/build-profile.json5 index 0d4a03d0a7..fd5f8c19c1 100644 --- a/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/build-profile.json5 +++ b/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/build-profile.json5 @@ -21,9 +21,9 @@ "name": "default", "signingConfig": "default", "runtimeOS": "OpenHarmony", - "compileSdkVersion": 18, - "compatibleSdkVersion": 18, - "targetSdkVersion": 18, + "compileSdkVersion": 20, + "compatibleSdkVersion": 20, + "targetSdkVersion": 20, "buildOption": { "strictMode": { "caseSensitiveCheck": true diff --git a/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/ets/pages/UniversalAttributesAccessibility/AccessibilityFocusDrawLevel.ets b/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/ets/pages/UniversalAttributesAccessibility/AccessibilityFocusDrawLevel.ets new file mode 100644 index 0000000000..0fb40fb43e --- /dev/null +++ b/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/ets/pages/UniversalAttributesAccessibility/AccessibilityFocusDrawLevel.ets @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ComponentContent } from '@kit.ArkUI'; + +class Params { +} + +@Builder +function loadingBuilder(params: Params) { + Column() { + LoadingProgress() + .color(Color.Blue) + } +} + +@Component +export struct AccessibilityFocusDrawLevel { + private contentNode = new ComponentContent(this.getUIContext(), wrapBuilder(loadingBuilder), new Params); + + build() { + NavDestination() { + Row() { + List() { + ListItem() { + Column() { + Stack() { + Column() { + Text($r('app.string.UniversalAttributesAccessibility_text5')) + Text($r('app.string.UniversalAttributesAccessibility_text5')) + .accessibilityFocusDrawLevel(FocusDrawLevel.TOP) + } + + Column() { + Text($r('app.string.UniversalAttributesAccessibility_text6')) + .backgroundColor(Color.Gray) + Text($r('app.string.UniversalAttributesAccessibility_text6')) + .backgroundColor(Color.Gray) + } + } + + Column() { + Text($r('app.string.UniversalAttributesAccessibility_text9')) + .fontSize(50) + .fontWeight(FontWeight.Bold) + Column() { + UIExtensionComponent({ + bundleName: 'com.example.provide', + abilityName: 'EmptyUIExtensionAbility', + parameters: { + 'ability.want.params.uiExtensionType': 'sys/commonUI' + } + }, + { + placeholder: this.contentNode, + dpiFollowStrategy: DpiFollowStrategy.FOLLOW_UI_EXTENSION_ABILITY_DPI + }) + .onReceive((err) => { + console.error('onReceive' + JSON.stringify(err)); + }) + .onError((err) => { + console.error('onError code :' + err.code + ', name: ' + err.name + ', msg: ' + err.message); + console.error('onError' + JSON.stringify(err)); + }) + .accessibilityUseSamePage(AccessibilitySamePageMode.FULL_SILENT) + .width('50%') + .height('50%') + .backgroundColor(Color.Pink) + } + } + .width('100%') + .height('100%') + .accessibilityText($r('app.string.UniversalAttributesAccessibility_text7')) + .accessibilityDescription($r('app.string.UniversalAttributesAccessibility_text8')) + + Column() { + Text($r('app.string.UniversalAttributesAccessibility_text10')) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + } + } + }.accessibilityScrollTriggerable(false) + } + .height('100%') + } + .backgroundColor('#f1f2f3') + .title($r('app.string.UniversalAttributesAccessibility_title3')) + } +} \ No newline at end of file diff --git a/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/ets/pages/UniversalAttributesAccessibility/Index.ets b/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/ets/pages/UniversalAttributesAccessibility/Index.ets index 6c294c9454..c2e1ea6f42 100644 --- a/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/ets/pages/UniversalAttributesAccessibility/Index.ets +++ b/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/ets/pages/UniversalAttributesAccessibility/Index.ets @@ -17,6 +17,7 @@ import { CompletedRoutableCard } from '../../common/Card' import { Route } from '../../common/Route' import { AccessibilityText } from './AccessibilityText' import { AccessibilityGroup } from './AccessibilityGroup' +import { AccessibilityFocusDrawLevel } from './AccessibilityFocusDrawLevel' import resource from '../../common/resource' export const ACCESSIBILITY_ROUTE_PREFIX: string = 'UniversalAttributesAccessibility'; @@ -31,6 +32,11 @@ const routes: Route[] = [ name: `${ACCESSIBILITY_ROUTE_PREFIX}/AccessibilityGroup`, title: resource.resourceToString($r('app.string.UniversalAttributesAccessibility_title2')), description: resource.resourceToString($r('app.string.UniversalAttributesAccessibility_description2')), + }, + { + name: `${ACCESSIBILITY_ROUTE_PREFIX}/AccessibilityFocusDrawLevel`, + title: resource.resourceToString($r('app.string.UniversalAttributesAccessibility_title3')), + description: resource.resourceToString($r('app.string.UniversalAttributesAccessibility_description3')), } ]; @@ -42,6 +48,8 @@ export function AccessibilityDestination(name: string) { AccessibilityText(); } else if (name == routes[1].name) { AccessibilityGroup(); + } else if (name == routes[2].name) { + AccessibilityFocusDrawLevel(); } } diff --git a/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/resources/base/element/string.json b/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/resources/base/element/string.json index 83d34a5137..cf91256a58 100644 --- a/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/resources/base/element/string.json +++ b/code/DocsSample/ArkUISample/UIExtensionAndAccessibility/entry/src/main/resources/base/element/string.json @@ -60,6 +60,10 @@ "name": "UniversalAttributesAccessibility_title2", "value": "使用无障碍属性 2" }, + { + "name": "UniversalAttributesAccessibility_title3", + "value": "使用无障碍属性 3" + }, { "name": "Embedded_Component_description", "value": "展示 EmbeddedComponent 组件的基础使用方式" @@ -84,6 +88,10 @@ "name": "UniversalAttributesAccessibility_description2", "value": "设置无障碍组" }, + { + "name": "UniversalAttributesAccessibility_description3", + "value": "设置无障碍焦点绿框绘制层级" + }, { "name": "UIExtensionComponent_button1", "value": "点击向Component发送数据" @@ -139,6 +147,14 @@ { "name": "UniversalAttributesAccessibility_text8", "value": "Column组件可以被选中,播报的内容是“分组”" + }, + { + "name": "UniversalAttributesAccessibility_text9", + "value": "文本3" + }, + { + "name": "UniversalAttributesAccessibility_text10", + "value": "文本4" } ] } \ No newline at end of file -- Gitee