Focusable.Focus
Declaration
public void Focus();Описание
Попытки сосредоточить внимание на этом элементе.
Элемент может не стать фокусным, если:
- Элемент не может быть focused.
- Элемент делегирует свой фокус.
Текущий фокусированный элемент Панели может быть получен с помощью его FocusController's focusedElement свойства.
До тех пор, пока элемент находится в фокусе, он получает все события клавиатуры и навигации, отправляемые в его Панель.
Если изменение фокуса запрашивается во время распространения другого события, изменение применяется только после того, как все события, находящиеся в очереди событий, будут полностью отправлены и распространены.
Дополнительные ресурсы: IFocusRing, FocusController.focusedElement
using UnityEngine; using UnityEngine.UIElements;
[RequireComponent(typeof(UIDocument))] public class FocusExample : MonoBehaviour { void OnEnable() { var startGameButton = GetComponent<UIDocument>().rootVisualElement.Q<Button>("StartGame");
startGameButton.RegisterCallback<FocusInEvent>(ev => { Debug.Log("FocusInEvent: button is focused and can be activated with keyboard or gamepad input."); });
Debug.Log("Calling startGameButton.Focus()."); startGameButton.Focus();
var isFocused = startGameButton.focusController.focusedElement == startGameButton; Debug.Log("Immediately after startGameButton.Focus(): isFocused=" + isFocused);
// Expected output: // > Calling startGameButton.Focus(). // > FocusInEvent: button is focused and can be activated with keyboard or gamepad input. // > Immediately after startGameButton.Focus(): isFocused=true } }