Вопрос

Я пишу приложение для изучения языка, в настоящее время только немецкий <--> русский.

Есть несколько EditTexts где пользователь должен ввести текст на том или ином языке. Поскольку эти языки используют разные алфавиты, приложение использует свою собственную мягкую клавиатуру, реализуя InputMethodService и обеспечение как латинского, так и кириллического схемы клавиатуры. Это известно для каждого EditText Поле, какой язык ожидается.

Я бы хотел, например, всякий раз, когда EditText Поле, ожидая, что русский язык находится в фокусе, должна отображаться кириллическая компоновка клавиатуры. При выборе, EditText должен передать некоторую постоянную на IME, который последний может использовать, чтобы решить, отображаться ли в латинском или кириллическом режиме.

В идеале можно было бы просто указать некоторые пользовательские InputType для EditText Но это кажется невозможным, не так ли? Какой здесь правильный подход?

Это было полезно?

Решение

Ваша идея не звучит плохо. Проверка кода IME для InputType в блоке коммутатора и макет клавиатуры по умолчанию показана, если InputType не совпадал.

Вы также можете предоставить логику в onCreate() метод вашего Activity Чтобы проверить, какой метод ввода активен, и с этой информацией выберите, какой inputType ваш EditText должен иметь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top