В большинстве случаев, для GUI элементов Unity будет обрабатывать ввод с клавиатуры автоматически, но из скрипта отобразить клавиатуру тоже легко.
Когда пользователь тапает на редактируемые элементы интерфейса, клавиатура появляется автоматически. В настоящее время GUI.TextField, GUI.TextArea и GUI.PasswordField отображают клавиатуру; для подробностей см. GUI class.
Use the TouchScreenKeyboard.Open() function to open the keyboard. Please see the TouchScreenKeyboard scripting reference for the parameters that this function takes.
Клавиатура поддерживает следующие настройки:-
Свойство: | Функция: |
---|---|
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 есть три свойства клавиатуры, определяющие статус видимости и размер на экране.
Свойство: | Функция: |
---|---|
visible | Возвращает true если клавиатура целиком видна на экране и может быть использована для ввода символов. |
area | Возвращает позицию и размеры клавиатуры. |
active | Возвращает true, если клавиатура активирована. Это свойство не статическое. У вас должен быть экземпляр клавиатуры для его использования. |
Заметьте, что TouchScreenKeyboard.area возвращает прямоугольник с позицией и размером, равными 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);
Для отображения клавиатуры с черным полупрозрачным фоном, вместо классического непрозрачного, вызовите TouchScreenKeyboard.Open() следующим образом:
TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true, true);