• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_interface_focus.h
2<!--Kit: ArkUI-->
3<!--Subsystem: ArkUI-->
4<!--Owner: @jiangtao92-->
5<!--Designer: @piggyguy-->
6<!--Tester: @songyanhong-->
7<!--Adviser: @HelloCrease-->
8
9## 概述
10
11定义焦点管理的相关接口,主要用于主动转移焦点或管理控制焦点转移默认行为,控制焦点激活态。
12
13**引用文件:** <arkui/native_interface_focus.h>
14
15**库:** libace_ndk.z.so
16
17**系统能力:** SystemCapability.ArkUI.ArkUI.Full
18
19**起始版本:** 15
20
21**相关模块:** [ArkUI_NativeModule](capi-arkui-nativemodule.md)
22
23## 汇总
24
25### 枚举
26
27| 名称 | typedef关键字 | 描述 |
28| -- | -- | -- |
29| [ArkUI_KeyProcessingMode](#arkui_keyprocessingmode) | ArkUI_KeyProcessingMode | 按键事件处理的优先级。 |
30
31### 函数
32
33| 名称 | 描述 |
34| -- | -- |
35| [ArkUI_ErrorCode OH_ArkUI_FocusRequest(ArkUI_NodeHandle node)](#oh_arkui_focusrequest) | 为特定节点请求焦点。 |
36| [void OH_ArkUI_FocusClear(ArkUI_ContextHandle uiContext)](#oh_arkui_focusclear) | 将当前焦点清除到根容器节点。 |
37| [void OH_ArkUI_FocusActivate(ArkUI_ContextHandle uiContext, bool isActive, bool isAutoInactive)](#oh_arkui_focusactivate) | 设置当前界面的焦点激活态,获焦节点显示焦点框。 |
38| [void OH_ArkUI_FocusSetAutoTransfer(ArkUI_ContextHandle uiContext, bool autoTransfer)](#oh_arkui_focussetautotransfer) | 设置页面切换时,焦点转移行为。 |
39| [void OH_ArkUI_FocusSetKeyProcessingMode(ArkUI_ContextHandle uiContext, ArkUI_KeyProcessingMode mode)](#oh_arkui_focussetkeyprocessingmode) | 设置按键事件处理的优先级。 |
40
41## 枚举类型说明
42
43### ArkUI_KeyProcessingMode
44
45```
46enum ArkUI_KeyProcessingMode
47```
48
49**描述:**
50
51
52按键事件处理的优先级。
53
54**起始版本:** 15
55
56| 枚举项 | 描述 |
57| -- | -- |
58| ARKUI_KEY_PROCESSING_MODE_FOCUS_NAVIGATION = 0 | 按键事件用于移动焦点。 |
59| ARKUI_KEY_PROCESSING_MODE_FOCUS_ANCESTOR_EVENT | 按键事件向上传递给祖先组件。 |
60
61
62## 函数说明
63
64### OH_ArkUI_FocusRequest()
65
66```
67ArkUI_ErrorCode OH_ArkUI_FocusRequest(ArkUI_NodeHandle node)
68```
69
70**描述:**
71
72
73为特定节点请求焦点。
74
75**起始版本:** 15
76
77
78**参数:**
79
80| 参数项 | 描述 |
81| -- | -- |
82| [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | 节点。 |
83
84**返回:**
85
86| 类型 | 说明 |
87| -- | -- |
88| [ArkUI_ErrorCode](capi-native-type-h.md#arkui_errorcode) | 错误码。<br>         [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 请求成功。<br>         [ARKUI_ERROR_CODE_FOCUS_NON_FOCUSABLE](capi-native-type-h.md#arkui_errorcode) 节点无法获得焦点。<br>         [ARKUI_ERROR_CODE_FOCUS_NON_FOCUSABLE_ANCESTOR](capi-native-type-h.md#arkui_errorcode) 祖先节点无法获得焦点。<br>         [ARKUI_ERROR_CODE_FOCUS_NON_EXISTENT](capi-native-type-h.md#arkui_errorcode) 节点不存在。 |
89
90### OH_ArkUI_FocusClear()
91
92```
93void OH_ArkUI_FocusClear(ArkUI_ContextHandle uiContext)
94```
95
96**描述:**
97
98
99将当前焦点清除到根容器节点。
100
101**起始版本:** 15
102
103
104**参数:**
105
106| 参数项 | 描述 |
107| -- | -- |
108| [ArkUI_ContextHandle](capi-arkui-nativemodule-arkui-context8h.md) uiContext | UI实例对象指针。 |
109
110### OH_ArkUI_FocusActivate()
111
112```
113void OH_ArkUI_FocusActivate(ArkUI_ContextHandle uiContext, bool isActive, bool isAutoInactive)
114```
115
116**描述:**
117
118
119设置当前界面的焦点激活态,获焦节点显示焦点框。
120
121**起始版本:** 15
122
123
124**参数:**
125
126| 参数项 | 描述 |
127| -- | -- |
128| [ArkUI_ContextHandle](capi-arkui-nativemodule-arkui-context8h.md) uiContext | UI实例对象指针。 |
129| bool isActive | 设置是否进入/退出焦点激活态。true表示进入焦点激活态,false表示退出焦点激活态。|
130| bool isAutoInactive | 当触摸事件或鼠标按下事件触发时,"true" 表示将状态设置为退出焦点激活态,"false" 表示在调用对应设置API前,保持当前状态。 |
131
132### OH_ArkUI_FocusSetAutoTransfer()
133
134```
135void OH_ArkUI_FocusSetAutoTransfer(ArkUI_ContextHandle uiContext, bool autoTransfer)
136```
137
138**描述:**
139
140
141设置页面切换时,焦点转移行为。
142
143**起始版本:** 15
144
145
146**参数:**
147
148| 参数项 | 描述 |
149| -- | -- |
150| [ArkUI_ContextHandle](capi-arkui-nativemodule-arkui-context8h.md) uiContext | UI实例对象指针。 |
151| bool autoTransfer | 页面切换时,是否转移焦点。true表示页面切换时转移焦点,false表示页面切换时焦点不转移。 |
152
153### OH_ArkUI_FocusSetKeyProcessingMode()
154
155```
156void OH_ArkUI_FocusSetKeyProcessingMode(ArkUI_ContextHandle uiContext, ArkUI_KeyProcessingMode mode)
157```
158
159**描述:**
160
161
162设置按键事件处理的优先级。
163
164**起始版本:** 15
165
166
167**参数:**
168
169| 参数项 | 描述 |
170| -- | -- |
171| [ArkUI_ContextHandle](capi-arkui-nativemodule-arkui-context8h.md) uiContext | UI实例对象指针。 |
172| [ArkUI_KeyProcessingMode](capi-native-interface-focus-h.md#arkui_keyprocessingmode) mode | 按键事件处理的优先级。 |
173
174
175