Поле ввода с пользовательским методом ввода

StackOverflow https://stackoverflow.com/questions/2012113

  •  19-09-2019
  •  | 
  •  

Вопрос

Я хотел бы показать пользовательское поле ввода (в частности, один, содержащий только 9-0 и две дополнительные кнопки, содержащие десятичный сепаратор (или.) И кнопку удаления).

Я мог бы создать пользовательский IME, но (насколько я знаю), который должен был быть установлен пользователем в качестве общенационального метода ввода. Есть ли способ реализовать метод ввода и привязать его с конкретным полем ввода?

Спасибо за помощь!

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

Решение

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

Что бы вы ни делали, у вас есть подходящее InputFilter Чтобы перейти с любым пользовательским методом ввода, вы должны ограничить ввод с аппаратной клавиатуры.

Как вы установили android:inputType Для поля это добавит соответствующего InputFilter автоматически, и это также будет Расскажите, что выбран IME, чтобы отобразить соответствующие кнопки ввода. Анкет Для по умолчанию Android IME все это делает, это отображает числовую страницу, а не алфавитную страницу сначала:

alt text

Другие советы

Как насчет использования своего рода «всплывающего окна», где ваше приложение реализует onClick() или же onTouch() Слушайте поле для ввода, так что, когда пользователь нажимает в поле «Вход», чтобы ввести значение, он видит новое простое действие с переопределенным методом ввода, как предложено @Dave Webb. Теоретически не должно быть слишком большим количеством кода или накладных расходов.

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