Отправить информацию из EditText в IME
-
23-10-2019 - |
Вопрос
Я пишу приложение для изучения языка, в настоящее время только немецкий <--> русский.
Есть несколько EditTexts
где пользователь должен ввести текст на том или ином языке. Поскольку эти языки используют разные алфавиты, приложение использует свою собственную мягкую клавиатуру, реализуя InputMethodService
и обеспечение как латинского, так и кириллического схемы клавиатуры. Это известно для каждого EditText
Поле, какой язык ожидается.
Я бы хотел, например, всякий раз, когда EditText
Поле, ожидая, что русский язык находится в фокусе, должна отображаться кириллическая компоновка клавиатуры. При выборе, EditText
должен передать некоторую постоянную на IME, который последний может использовать, чтобы решить, отображаться ли в латинском или кириллическом режиме.
В идеале можно было бы просто указать некоторые пользовательские InputType
для EditText
Но это кажется невозможным, не так ли? Какой здесь правильный подход?
Решение
Ваша идея не звучит плохо. Проверка кода IME для InputType
в блоке коммутатора и макет клавиатуры по умолчанию показана, если InputType
не совпадал.
Вы также можете предоставить логику в onCreate()
метод вашего Activity
Чтобы проверить, какой метод ввода активен, и с этой информацией выберите, какой inputType
ваш EditText
должен иметь.