Unity 6.3
0 онлайн 17 гостей 3 в системе
Вход

Мобильная клавиатура

В большинстве случаев Unity будет автоматически обрабатывать ввод с клавиатуры для элементов GUI, но также легко показать клавиатуру по запросу из скрипта.

GUI элементы

Клавиатура появится автоматически, когда пользователь нажмет на редактируемые элементы GUI. В настоящее время, GUI.TextField, GUI.TextArea и GUI.PasswordField будут отображать клавиатуру; см. документацию GUI класса для более подробной информации.

Ручное управление клавиатурой

Примечание: API TouchScreenKeyboard поддерживается только в нативных приложениях для iPhone, Android и Windows Store. Попытка обратиться к его свойствам на неподдерживаемой платформе приводит к исключению. Если приложение предназначено для нескольких платформ, прежде чем использовать этот API, убедитесь, что код проверяет TouchScreenKeyboard.isSupported.

Используйте функцию TouchScreenKeyboard.Open() для открытия клавиатуры. См. ссылку на TouchScreenKeyboard для параметров, которые принимает эта функция.

Параметры раскладки клавиатуры

Клавиатура поддерживает следующие варианты: -

Свойство: Функция:
TouchScreenKeyboardType.Default Буквы. Можно переключиться на клавиатуру с цифрами и пунктуацией.
TouchScreenKeyboardType.ASCIICapable Буквы. Можно переключиться на клавиатуру с цифрами и пунктуацией.
TouchScreenKeyboardType.NumbersAndPunctuation Числа и пунктуация. Можно переключиться на клавиатуру с буквами.
TouchScreenKeyboardType.URL Буквы с косой чертой и кнопками .com. Можно переключиться на клавиатуру с цифрами и пунктуацией.
TouchScreenKeyboardType.NumberPad Только цифры от 0 до 9.
TouchScreenKeyboardType.PhonePad Клавиатура для ввода телефонных номеров.
TouchScreenKeyboardType.NamePhonePad Буквы. Можно переключить на клавиатуру телефона.
TouchScreenKeyboardType.EmailAddress Буквы со знаком @. Можно переключиться на клавиатуру с цифрами и пунктуацией.

Текстовый предварительный просмотр

По умолчанию поле редактирования будет создано и размещено над клавиатурой после того, как оно появится. Это работает как предварительный просмотр текста, который пользователь вводит, так что текст всегда виден для пользователя. Однако вы можете отключить предварительный просмотр текста, установив TouchScreenKeyboard.hideInput на true. Обратите внимание, что это работает только для некоторых типов клавиатур и режимов ввода. Например, это не будет работать для телефонных клавиатур и многострочного ввода текста. В таких случаях поле редактирования будет появляться всегда. TouchScreenKeyboard.hideInput является глобальной переменной и будет влиять на все клавиатуры.

Видимость и размер клавиатуры

Существует три свойства клавиатуры в ,TouchScreenKeyboardи, которые определяют видимость клавиатуры и размер на экране.

Свойство: Функция:
видимый Возвращает истинно, если клавиатура полностью видна на экране и может использоваться для ввода символов.
площадь Возвращает позицию и размеры клавиатуры.
активные Возвращаемое значение истинно если клавиатура активирована. Это свойство не статическое: чтобы им пользоваться, нужен экземпляр клавиатуры.

Обратите внимание, что TouchScreenKeyboard.area возвратит Rect с позицией и размером, установленными на 0, пока клавиатура не будет полностью видна на экране. Вы не должны запрашивать это значение сразу после TouchScreenKeyboard.Open(). Последовательность событий клавиатуры выглядит следующим образом:

  • TouchScreenKeyboard.Open() называется. TouchScreenKeyboard.active возвращает true. TouchScreenKeyboard.visible возвращает false. TouchScreenKeyboard.area возвращает (0, 0, 0, 0).
  • Клавиатура скользит на экран. Все свойства остаются прежними.
  • Клавиатура перестает скользить. TouchScreenKeyboard.active возвращает true. TouchScreenKeyboard.visible возвращает true. TouchScreenKeyboard.area возвращает реальное положение и размер клавиатуры.

Безопасный ввод текста

Можно настроить клавиатуру так, чтобы при вводе символы скрывались. Это полезно, когда пользователям требуется вводить конфиденциальную информацию (например, пароли). Чтобы вручную открыть клавиатуру с включенным безопасным вводом текста, используйте следующий код:

TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true);
Скрытие текста во время ввода
Скрытие текста во время ввода

Клавиатура Alert

Чтобы отобразить клавиатуру с черным полупрозрачным фоном вместо классического непрозрачного, вызовите TouchScreenKeyboard.Open() следующим образом:

TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true, true);
Клавиатура Alert
Клавиатура Alert