Поле ввода с пользовательским методом ввода
-
19-09-2019 - |
Вопрос
Я хотел бы показать пользовательское поле ввода (в частности, один, содержащий только 9-0 и две дополнительные кнопки, содержащие десятичный сепаратор (или.) И кнопку удаления).
Я мог бы создать пользовательский IME, но (насколько я знаю), который должен был быть установлен пользователем в качестве общенационального метода ввода. Есть ли способ реализовать метод ввода и привязать его с конкретным полем ввода?
Спасибо за помощь!
Решение
Я думаю, что вы правы в том, что у вас не может быть пользовательской IME, который вы используете только для определенных полей в вашем приложении. Пользователь был бы включен по всему миру.
Что бы вы ни делали, у вас есть подходящее InputFilter
Чтобы перейти с любым пользовательским методом ввода, вы должны ограничить ввод с аппаратной клавиатуры.
Как вы установили android:inputType
Для поля это добавит соответствующего InputFilter
автоматически, и это также будет Расскажите, что выбран IME, чтобы отобразить соответствующие кнопки ввода. Анкет Для по умолчанию Android IME все это делает, это отображает числовую страницу, а не алфавитную страницу сначала:
Другие советы
Как насчет использования своего рода «всплывающего окна», где ваше приложение реализует onClick()
или же onTouch()
Слушайте поле для ввода, так что, когда пользователь нажимает в поле «Вход», чтобы ввести значение, он видит новое простое действие с переопределенным методом ввода, как предложено @Dave Webb. Теоретически не должно быть слишком большим количеством кода или накладных расходов.