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