Клавиатура android не отображается при нажатии входящего текста в unity3d 2019.3.7f1 - PullRequest
0 голосов
/ 23 апреля 2020

Я обновился до unity3d 2019.3.7f1 с 2019.2.5f из-за ошибки S-pen. Но теперь я снова сталкиваюсь с новой ошибкой. Клавиатура Android будет работать правильно только после нажатия «ОК», «Готово» или «Стрелка вниз» после ввода. Но если вы нажмете за пределами пользовательского интерфейса клавиатуры, он будет скрыт, но больше не будет отображаться при нажатии на то же поле ввода. Это также работает, если у вас есть два поля ввода, щелкая поочередно. Я также попробовал скрипт keyboard = TouchScreenKeyboard.Open(keyboardValue, TouchScreenKeyboardType.ASCIICapable); с тем же результатом ошибки. Я также читал, что целевой уровень API 28 может вызвать эту ошибку? Но требование для Google Play - уровень API 28.

РЕДАКТИРОВАТЬ

Мне удалось временно исправить это с помощью кода ниже. Все еще не знаю для полей ввода. У меня есть только 2 поля ввода для имени пользователя и пароля.

TouchScreenKeyboard keyboard;
string keyboardValue;

void OnGUI()
{
    if (GUI.Button(new Rect(0, 10, 200, 200), "Open keyboard"))
    {
        if(keyboard != null)
            keyboard.active = false;

        keyboard = TouchScreenKeyboard.Open(keyboardValue, TouchScreenKeyboardType.ASCIICapable);
    }
}

void Update()
{
    if(keyboard != null)
    {
        if (keyboard.active)
        {
            keyboardValue = keyboard.text;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...