Focusable
класс в UnityEngine.UIElements
Наследуется от:UIElements.CallbackEventHandler
Выполнено в:UnityEngine.UIElementsModule
Описание
Базовый класс для объектов, которые могут получать фокус.
Фокус используется для определения элемента, который будет получать события клавиатуры и навигации.
Вы можете получить текущий фокусированный элемент панели, используя его FocusController's FocusController.focusedElement свойства.
Дополнительные ресурсы: KeyboardEventBase<T0>, NavigationEventBase<T0>
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 } }
Свойства
| Свойство | Описание |
|---|---|
| canGrabFocus | Можно ли фокусировать элемент. |
| delegatesFocus | Делегирует ли элемент фокус своим дочерним элементам. |
| focusable | Может ли элемент потенциально получать фокус. |
| focusController | Возвращает контроллер фокуса для этого элемента. |
| tabIndex | Целое число, используемое для сортировки фокусируемых элементов в кольце фокуса. Должно быть больше или равно нулю. |
Открытые методы
| Метод | Описание |
|---|---|
| Blur | Сообщает элементу, чтобы он освободил фокус. |
| Focus | Попытки сосредоточить внимание на этом элементе. |
Унаследованные члены 2
Открытые методы
| Метод | Описание |
|---|---|
| HasBubbleUpHandlers | Возвращает true, если к этому объекту были прикреплены обработчики событий для фазы распространения событий BubbleUp. |
| HasTrickleDownHandlers | Возвращает true, если к этому объекту прикреплены обработчики событий для фазы распространения событий TrickleDown. |
| RegisterCallback | Добавление обработчика событий к экземпляру. |
| RegisterCallbackOnce | Добавление обработчика событий к экземпляру. Обработчик событий автоматически отменяет регистрацию после того, как он был вызван ровно один раз. |
| SendEvent | Отправляет событие в обработчик событий. |
| UnregisterAllRemovableCallbacks | Удаляет из экземпляра все обратные вызова, зарегистрированные с CallbackOptions.Removable. |
| UnregisterCallback | Удалить обратный вызов из экземпляра. |
Защищенные методы
| Метод | Описание |
|---|---|
| HandleEventBubbleUp | Выполняет логику на этом элементе во время фазы BubbleUp, непосредственно перед обратными вызовами BubbleUp этого элемента. Вызов StopPropagation предотвратит дальнейшие вызовы этого метода вдоль пути распространения. |
| HandleEventTrickleDown | Выполняет логику на этом элементе во время фазы TrickleDown, сразу после обратных вызовов TrickleDown этого элемента. Вызов StopPropagation предотвратит дальнейшие вызовы этого метода вдоль пути распространения. |
| NotifyPropertyChanged | Сообщает системе привязки данных о том, что изменилось свойство контроля. |