Button
класс в UnityEngine.UIElements
Наследуется от:UIElements.TextElement
Выполнено в:UnityEngine.UIElementsModule
Описание
Представляет интерактивный элемент кнопки UI.
Кнопка имеет элемент текстовой метки, который может отвечать на события указателя и мыши. Вы можете добавить значок, который будет сочетаться с текстом, назначив Background (Текстура, RenderTexture, Sprite или Векторное изображение) свойству iconImage API или icon-image UXML. Обратите внимание, что предоставление изображения значка автоматически обновит иерархию кнопки, чтобы содержала элементы Image и текстовую метку.
По умолчанию один клик левой кнопкой мыши активирует кнопку свойства Clickable кнопки. Чтобы удалить этот активатор или добавить дополнительные активаторы, измените свойство clickable.activators. Для подробностей см. ManipulatorActivationFilter.
Для привязки текстового значения кнопки к содержимому переменной, установите свойство binding-path в файле UXML или свойство bindingPath в коде C# на строку, содержащую имя переменной.
Для более подробной информации см. UXML элемент Button.
Дополнительные ресурсы: Clickable, Image, ManipulatorActivationFilter
Ниже приведен простой пример использования кнопки. Использование события clicked для печати сообщения в консоли при нажатии кнопки.
using UnityEngine; using UnityEditor; using UnityEngine.UIElements;
public class ButtonExample : EditorWindow { [MenuItem("Window/Button Example")] public static void ShowExample() { GetWindow<ButtonExample>(); }
void CreateGUI() { var button = new Button { text = "Click me" }; button.clicked += OnClick;
rootVisualElement.Add(button); }
void OnClick() { Debug.Log("Clicked!"); } }
Статические свойства
| Свойство | Описание |
|---|---|
| iconOnlyUssClassName | Имя USS-класса для элементов Button только со значком, без текста. |
| iconUssClassName | Имя USS-класса для элементов Button со значком. |
| imageUSSClassName | Имя USS-класса для элемента изображения, который используется для показа текстуры значка. |
| ussClassName | Имя USS-класса для элементов этого типа. |
Свойства
| Свойство | Описание |
|---|---|
| clickable | Нажимаемая MouseManipulator для этой кнопки. |
| iconImage | Текстура, Sprite или VectorImage, которые будут представлять значок в элементе Button. |
Конструкторы
| Конструктор | Описание |
|---|---|
| Button | Создает кнопку. |
Мероприятия
| Мероприятие | Описание |
|---|---|
| clicked | Обратный вызов, запускаемый при нажатии кнопки. |
| onClick | Этот метод устарел. Используйте Button.clicked вместо него. |
Унаследованные члены 4
Статические свойства
| Свойство | Описание |
|---|---|
| selectableUssClassName | Имя USS-класса для выделяемых текстовых элементов. |
| ussClassName | Имя USS-класса для элементов этого типа. |
| disabledUssClassName | Имя USS-класса для локально отключённых элементов. |
Свойства
| Свойство | Описание |
|---|---|
| binding | Объект привязки, который будет обновлен. |
| bindingPath | Путь к целевому свойству для привязки. |
| canGrabFocus | Можно ли фокусировать элемент. |
| delegatesFocus | Делегирует ли элемент фокус своим дочерним элементам. |
| focusable | Может ли элемент потенциально получать фокус. |
| focusController | Возвращает контроллер фокуса для этого элемента. |
| tabIndex | Целое число, используемое для сортировки фокусируемых элементов в кольце фокуса. Должно быть больше или равно нулю. |
| displayTooltipWhenElided | Если true, то tooltip отображает полную версию элидируемого текста, а также, если tooltip был ранее предоставлен, он будет перезаписан. |
| emojiFallbackSupport | Указывает порядок, в котором система должна искать символы Emoji при отображении текста. Если этот параметр включен, поиск в глобальном резервном списке Emoji будет осуществляться сначала для символов, определенных как Emoji в стандарте Unicode 14.0. |
| enableRichText | Если установлено false, богатые текстовые теги не будут анализироваться. |
| experimental | Возвращает экспериментальный интерфейс TextElement. |
| isElided | Возвращает true, если текст вычеркнут, false в противном случае. |
| parseEscapeSequences | Определяет способ отображения последовательностей эвакуации. Если установлено значение true, последовательности эвакуации (такие как \n, \t) анализируются и преобразуются в соответствующие символы. Например, '\n' вставляет новую строку. Если установлено значение false, последовательности эвакуации отображаются как простой текст (например, \n показывается как символы '\', за которыми следует 'n'). |
| PostProcessTextVertices | Обратный вызов, запускаемый после того, как UI Toolkit генерирует данные вершины для TextElement и до того, как геометрия отправляется в рендерер. Используйте его для проверки или изменения квада каждого глиф (положение, оттенок, UVs и т.д.) для реализации пользовательских эффектов для каждого глиф. |
| selection | Получить это TextElement's ITextSelection |
| text | Текст для отображения. |
| childCount | Количество дочерних элементов в contentContainer этого объекта. |
| contentContainer | Логический контейнер, в который добавляются дочерние элементы. Если к этому элементу добавляется дочерний элемент, то он добавляется в контейнер содержимого этого элемента. |
| contentRect | Прямоугольник области содержимого элемента в локальном пространстве элемента. (Только для чтения) |
| customStyle | Настраиваемый аксессор свойств стиля VisualElement (только для чтения). |
| dataSource | Назначает источник данных этому VisualElement, который переопределяет любой унаследованный источник данных. Этот источник данных наследуется всеми дочерними объектами. |
| dataSourcePath | Путь от источника данных к значению. |
| dataSourceType | Возможный тип источника данных, присваиваемый этому VisualElement. Эта информация используется UI Builder только как подсказка, чтобы дать некоторое заполнение в поле пути источника данных, когда эффективный источник данных не может быть указан во время проектирования. |
| disablePlayModeTint | Оттенки режима воспроизведения применяются по умолчанию, если это не установлено в true. Они применяются иерархически к этому VisualElement и ко всем его дочерним объектам, которые существуют на панели редактора. |
| enabledInHierarchy | Возвращает true, если VisualElement включен в собственной иерархии. |
| enabledSelf | Возвращает true, если VisualElement включен локально. |
| generateVisualContent | Функция делегирования для генерации визуального содержания визуального элемента. |
| hasActivePseudoState | Возвращает true, если этот элемент соответствует псевдоклассу :active. |
| hasCheckedPseudoState | Возвращает true, если этот элемент соответствует псевдоклассу :checked. |
| hasDisabledPseudoState | Возвращает true, если этот элемент соответствует псевдоклассу :disabled. |
| hasEnabledPseudoState | Возвращает true, если этот элемент соответствует псевдоклассу :enabled. |
| hasFocusPseudoState | Возвращает true, если этот элемент соответствует псевдоклассу :focus. |
| hasHoverPseudoState | Возвращает true, если этот элемент соответствует псевдоклассу :hover. |
| hasInactivePseudoState | Возвращает true, если этот элемент соответствует псевдоклассу :inactive. |
| hasRootPseudoState | Возвращает true, если этот элемент соответствует псевдоклассу :root. |
| hierarchy | Доступ к физической иерархии этого элемента |
| languageDirection | Указывает направленность текста элемента. Значение будет распространяться на дочерей элемента. |
| layout | Положение и размер VisualElement относительно его родительского объекта, как вычислено системой макета. (Только для чтения) |
| localBound | Возвращает Rect, представляющий выравниваемый по оси Bounding Box (AABB) после применения преобразования, но до применения преобразования макета. |
| name | Имя этого VisualElement. |
| paddingRect | Прямоугольник зоны заполнения элемента, в локальном пространстве элемента. |
| panel | Панель, к которой прикреплен этот VisualElement. |
| parent | Родители этого VisualElement. |
| pickingMode | Определяет, может ли этот элемент быть целью событий указателя или выбран запросами IPanel.Pick. |
| resolvedStyle | Окончательные отображенные значения стиля визуального элемента, как он отображается в текущем кадре.(Только для чтения) |
| scaledPixelsPerPoint | Возвращает результат масштабирования панели, который учитывает экран DPI и настраиваемый фактор масштабирования, но не масштаб трансформации элемента и его предшественников. См. Panel.scaledPixelsPerPoint. Этот метод должен вызываться только для элементов, которые являются частью панели. |
| schedule | Получает IVisualElementScheduler, связанный с этим VisualElement. Используйте его для очереди действий. |
| style | Устанавливает значения стиля на VisualElement. |
| styleSheets | Возвращает VisualElementStyleSheetSet, который манипулирует таблицами стилей, прикрепленными к этому элементу. |
| это[int] | Получает дочерний элемент в определенном индексе. |
| tooltip | Текст, который будет отображаться внутри информационного поля после того, как пользователь задержится над элементом небольшое время. Это поддерживается только в Редакторе UI. |
| usageHints | Сочетание значений подсказки, которые указывают схемы предполагаемого использования высокого уровня для VisualElement. Это свойство может быть установлено только тогда, когда VisualElement если это свойство еще не является частью панели. Как только это свойство становится частью панели, оно становится доступным только для чтения, и попытки изменить его вызывают исключение. UsageHints Подсказки позволяют системе принимать лучшие решения о том, как обрабатывать или ускорять определенные операции на основе предполагаемой схемы использования. Обратите внимание, что эти подсказки не влияют на поведение или визуальные результаты, а только влияют на общую производительность панели и элементов внутри нее. Рекомендуется всегда учитывать указание надлежащего UsageHints, но помните, что некоторые UsageHints могут быть внутренне проигнорированы при определенных условиях (e.g. из-за аппаратных ограничений на целевой платформе). |
| userData | Это свойство может использоваться для связывания данных пользователя, специфичных для приложения, с этим VisualElement. |
| viewDataKey | Используется для сохранения данных представления, таких как развернутые состояния дерева, положение прокрутки или уровень масштаба. |
| visible | Указывает, должен ли этот элемент отображаться или нет. |
| visualTreeAssetSource | Хранит ссылку на ассет, если генерируемый элемент клонирован из VisualTreeAsset. |
| worldBound | Возвращает выравниваемую по оси границу элемента в координатах панели после кумулятивного преобразования из корня IPanel. |
| worldTransform | Возвращает матрицу, которая накапливает следующие преобразования (в порядке): Local scalingLocal rotationLocal translationLayout translationParent worldTransform (рекурсивное определение — рассматривается матрица идентичности, когда нет родителя) |
Открытые методы
| Метод | Описание |
|---|---|
| HasBubbleUpHandlers | Возвращает true, если к этому объекту были прикреплены обработчики событий для фазы распространения событий BubbleUp. |
| HasTrickleDownHandlers | Возвращает true, если к этому объекту прикреплены обработчики событий для фазы распространения событий TrickleDown. |
| RegisterCallback | Добавление обработчика событий к экземпляру. |
| RegisterCallbackOnce | Добавление обработчика событий к экземпляру. Обработчик событий автоматически отменяет регистрацию после того, как он был вызван ровно один раз. |
| UnregisterAllRemovableCallbacks | Удаляет из экземпляра все обратные вызова, зарегистрированные с CallbackOptions.Removable. |
| UnregisterCallback | Удалить обратный вызов из экземпляра. |
| Blur | Сообщает элементу, чтобы он освободил фокус. |
| Focus | Попытки сосредоточить внимание на этом элементе. |
| MarkDirtyText | Помечает, что TextElement принуждает к макету и перекраске. |
| MeasureTextSize | Вычисляет размер, необходимый для отображения текстовой строки на основе значений стиля элемента, таких как font, font-size, word-wrap и т.д. |
| Add | Добавление элемента в contentContainer этого элемента. |
| AddToClassList | Добавляет класс в список классов элемента, чтобы назначить стили из USS. Учтите, что имя класса чувствительно к регистру. |
| BringToFront | Переносит этот элемент в конец родительского дочернего списка. Элемент будет визуально находиться перед любыми перекрывающимися элементами-родственниками. |
| Children | Возвращает элементы из contentContainer. |
| ClassListContains | Ищет класс в списке классов этого элемента. |
| Clear | Удалить все дочерние элементы из contentContainer этого элемента |
| ClearBinding | Удаляет привязку из элемента. |
| ClearBindings | Удаляет все привязки из элемента. |
| ClearClassList | Удаляет все классы из списка классов этого элемента. AddToClassList |
| Contains | Проверяет, является ли данный элемент предком указанного дочернего элемента. |
| ContainsPoint | Проверяет, пересекается ли указанная точка с этим расположением VisualElement. |
| ElementAt | Получает дочерний элемент в определенном индексе. |
| EnableInClassList | Включает или отключает класс с заданным именем. |
| FindAncestorUserData | Поиск в иерархии этого VisualElement и получение хранящегося userData, если таковой найден. |
| FindCommonAncestor | Находит наименьшего общего предка между двумя VisualElements внутри иерархии VisualTree. |
| GetBinding | Получает экземпляр привязки для указанного целевого свойства. |
| GetBindingInfos | Получает информацию обо всех привязках текущего элемента. |
| GetClasses | Получить классы для этого элемента. |
| GetDataSourceContext | Запросы dataSource и dataSourcePath объекта привязки. |
| GetFirstAncestorOfType | Проходит вверх по иерархии, начиная с родителя этого элемента, и возвращает первый VisualElement этого типа |
| GetFirstOfType | Проходит вверх по иерархии, начиная с этого элемента, и возвращает первый VisualElement этого типа |
| GetHierarchicalDataSourceContext | Запросы dataSource и dataSourcePath унаследованы от иерархии. |
| HasBinding | Позволяет узнать, связана ли с целевым свойством привязка. |
| IndexOf | Получает дочерний индекс указанного VisualElement. |
| Insert | Вставить элемент в contentContainer этого элемента |
| IsMarkedForRepaint | Проверяет, не загрязнен ли VisualElement для перекраски. |
| MarkDirtyRepaint | Помечает, что VisualElement требует перекраски. |
| PlaceBehind | Помещает этот элемент прямо перед элементом-родственником в их родительском дочернем списке. Если позиция элемента и элемента-родственника перекрываются, элемент будет визуально находиться позади своего родственника. |
| PlaceInFront | Помещает этот элемент сразу после элемента-сестры в их родительском дочернем списке. Если элемент и позиция элемента-сестры перекрываются, элемент будет визуально находиться перед элементом-сестры. |
| Remove | Удаляет этот дочерний объект из иерархии его contentContainer. |
| RemoveAt | Удаляет дочерний элемент с указанным индексом из списка дочерних элементов текущего элемента. |
| RemoveFromClassList | Удаляет класс из списка классов элемента. |
| RemoveFromHierarchy | Удаляет этот элемент из родительской иерархии. |
| SendEvent | Отправляет событие в обработчик событий. |
| SendToBack | Отправляет этот элемент в начало родительского дочернего списка. Элемент будет визуально находиться за любыми перекрывающимися родственными элементами. |
| SetActivePseudoState | Задает, будет ли этот элемент отображаться как активный. |
| SetBinding | Назначает привязку между конечным объектом и источником. |
| SetCheckedPseudoState | Задает, будет ли этот элемент отображаться как отмеченный. |
| SetEnabled | Меняет состояние VisualElement. Отключённый визуальный элемент не получает большинство событий. |
| Sort | Переупорядочивает дочерние элементы из VisualElement в contentContainer. |
| ToggleInClassList | Переключает между добавлением и удалением заданного имени класса в списке классов. |
| TryGetBinding | Получает экземпляр привязки для указанного целевого свойства. |
| TryGetDataSourceContext | Запросы dataSource и dataSourcePath объекта привязки. |
| TryGetLastBindingToSourceResult | Возвращает последний BindingResult объекта привязки из UI в источник данных. |
| TryGetLastBindingToUIResult | Возвращает последний BindingResult объекта привязки из источника данных к UI. |
Защищенные методы
| Метод | Описание |
|---|---|
| HandleEventBubbleUp | Выполняет логику на этом элементе во время фазы BubbleUp, непосредственно перед обратными вызовами BubbleUp этого элемента. Вызов StopPropagation предотвратит дальнейшие вызовы этого метода вдоль пути распространения. |
| HandleEventTrickleDown | Выполняет логику на этом элементе во время фазы TrickleDown, сразу после обратных вызовов TrickleDown этого элемента. Вызов StopPropagation предотвратит дальнейшие вызовы этого метода вдоль пути распространения. |
| NotifyPropertyChanged | Сообщает системе привязки данных о том, что изменилось свойство контроля. |