
本文介绍了Unity的UI Toolkit(工具包)中如何控制焦点顺序。
Tab键和焦点顺序
当多个文本字段或可聚焦元素排列时,按Tab键会将焦点移动到下一个优先元素。

默认情况下,距离根元素较近且ChildIndex较小的UI元素首先获得焦点,UI工具包可以完全控制此焦点顺序。
控制焦点顺序
要控制焦点顺序,请使用TextField基类的Focusable字段tabIndex。如果在此字段中设置一个值,焦点将转移到具有最低值的值。
要查看此行为,请指定field2和field3,如下所示:
using UnityEditor;
using UnityEngine.UIElements;
public class FocusExample : EditorWindow
{
public void CreateGUI()
{
var field1 = new TextField { label = "Field1" };
rootVisualElement.Add(field1);
var field2 = new TextField
{
label = "Field2",
tabIndex = 2
};
rootVisualElement.Add(field2);
var field3 = new TextField
{
label = "Field3",
tabIndex = 1
};
rootVisualElement.Add(field3);
}
[MenuItem("Window/FocusExample")]
public static void ShowExample()
{
GetWindow<FocusExample>();
}
}
执行此操作后,可以看到焦点顺序发生了变化,如下所示。

…
以上是关于如何使用tabIndex控制焦点顺序的全部内容,如果你有任何反馈,请随时在本页面下方留言。