焦点属性

焦点用于选中其他控件,仅游戏手柄和键盘能使用焦点。

属性属性名默认值描述
focus_enabled焦点启用布尔值false是否允许该控件启用焦点。
focus_identifier焦点标识符字符串定义该控件的焦点标识符,方便其他控件引导焦点到此控件。

焦点标识符是唯一的!

use_last_focus使用上个焦点布尔值false该控件是否使用上一个焦点。
当启用上一个焦点时,返回到该屏幕会保留上次焦点。
focus_container焦点容器布尔值false是否将该控件视为焦点容器,处理子控件的焦点的容器。
reset_on_focus_lost失去焦点重置布尔值false该控件是否在焦点消失时重置该控件的状态。
focus_wrap_enabled启用焦点换行布尔值true该控件是否启用焦点换行。

当启用焦点换行时,如果焦点达到控件或屏幕的边界,那么焦点就会自动跳转到合适的位置。
禁用会使焦点及时到达控件或屏幕的边界,也不会自动跳转。

focus_magnet_enabled启用焦点吸附布尔值false该控件是否启用焦点吸附。

当启用焦点吸附时,焦点吸附是指焦点接近某个可拖动元素时,控件会自动对齐到特定位置。

default_focus_precedence默认焦点优先级数字0该控件默认的焦点默认优先级。
focus_change_down向下焦点覆盖字符串填写可聚焦控件的焦点标识符。
当焦点在该控件中并触发 button.menu_down 事件,会将焦点引导到目标焦点。[1]
focus_change_up向上焦点覆盖字符串填写可聚焦控件的焦点标识符。
当焦点在该控件中并触发 button.menu_up 事件,会将焦点引导到目标焦点。[1]
focus_change_left向左焦点覆盖字符串填写可聚焦控件的焦点标识符。
当焦点在该控件中并触发 button.menu_left 事件,会将焦点引导到目标焦点。[1]
focus_change_right向右焦点覆盖字符串填写可聚焦控件的焦点标识符。
当焦点在该控件中并触发 button.menu_right 事件,会将焦点引导到目标焦点。[1]
focus_mapping焦点映射数组详见 焦点映射 >
focus_navigation_mode_down向下焦点导航模式字符串:列举none列举的值可以是:
none 不导航焦点
contained 容器内部导航向下焦点
custom 自定义导航向下焦点
focus_navigation_mode_up向上焦点导航模式字符串:列举none列举的值可以是:
none 不导航焦点
contained 容器内部导航向上焦点
custom 自定义导航向上焦点
focus_navigation_mode_left向左焦点导航模式字符串:列举none列举的值可以是:
none 不导航焦点
contained 容器内部导航向左焦点
custom 自定义导航向左焦点
focus_navigation_mode_right向右焦点导航模式字符串:列举none列举的值可以是:
none 不导航焦点
contained 容器内部导航向右焦点
custom 自定义导航向右焦点
focus_container_custom_down向下自定义焦点容器数组详见 自定义焦点容器 >
focus_container_custom_up向上自定义焦点容器数组详见 自定义焦点容器 >
focus_container_custom_left向左自定义焦点容器数组详见 自定义焦点容器 >
focus_container_custom_right向右自定义焦点容器数组详见 自定义焦点容器 >
  1. 如果不想触发引导焦点,可以填写FOCUS_OVERRIDE_STOP,阻止引导该方向的焦点。

焦点映射

以下为数组对象允许的属性:

属性属性名描述
focus_identifier焦点标识符字符串定义该控件的焦点标识符,方便其他控件引导焦点到此控件。

焦点标识符是唯一的!

focus_change_down下方焦点覆盖字符串填写可聚焦控件的焦点标识符。
当焦点在该控件中并触发 button.menu_down 事件,会将焦点引导到目标焦点。[1]
focus_change_up上方焦点覆盖字符串填写可聚焦控件的焦点标识符。
当焦点在该控件中并触发 button.menu_up 事件,会将焦点引导到目标焦点。[1]
focus_change_left左边焦点覆盖字符串填写可聚焦控件的焦点标识符。
当焦点在该控件中并触发 button.menu_left 事件,会将焦点引导到目标焦点。[1]
focus_change_right右边焦点覆盖字符串填写可聚焦控件的焦点标识符。
当焦点在该控件中并触发 button.menu_right 事件,会将焦点引导到目标焦点。[1]
  1. 如果不想触发引导焦点,可以填写FOCUS_OVERRIDE_STOP,阻止引导该方向的焦点。

自定义焦点容器

提示
需要该方向的焦点导航模式为custom,才能使用该方向的自定义焦点容器。

当焦点在该控件中并触发 button.menu_(down/up/left/right) 事件,而且该方向的交点导航模式为 custom,就会引导到新的焦点容器。

以下为自定义焦点容器数组对象的属性:

属性属性名描述
other_focus_container_name其他焦点容器控件名字符串接收焦点的焦点容器的控件名。
focus_id_inside内部交点标识符字符串接收焦点的焦点容器的可聚焦子控件的焦点标识符。
"focus_container_custom_right": [ { "other_focus_container_name": "控件名", "focus_id_inside": "内部焦点名" } ] { "test": { "type": "panel", "focus_container": true, "controls": [ { "none": { "type":"input_panel", "focus_enabled": true, "focus_identifier": "none" } } ] }, "focus_panel": { "type": "input_panel", "focus_container_custom_right": [ { "other_focus_container_name": "test", "focus_id_inside": "none" } ] } }