У андроида есть цифровая клавиатура? - PullRequest
13 голосов
/ 31 октября 2009

Есть ли в Android способ вызвать только цифровую клавиатуру, то есть виртуальную клавиатуру, которая содержит только цифры от 0 до 9 и "." знак?

Ответы [ 5 ]

26 голосов
/ 31 октября 2009

Попробуйте сделать android:inputType="phone"?

6 голосов
/ 21 января 2011

Если вы говорите об ограничении ввода до 0-9 + "." для поля EditText я использую атрибут android: numeric = "decimal" в XML макета.

<EditText android:numeric="decimal" />

Если вы работаете с динамически генерируемыми представлениями EditText, соответствующий метод для вызова этого setKeyListener ()

6 голосов
/ 31 октября 2009

По сути, вам нужно то, что сказал Питер Боутон.

В более общем случае, если вам нужно вызвать другой тип клавиатуры, в зависимости от того, какой ввод вы ожидаете от компонента EditText, вам следует использовать IMF (Input Media Framework) и разные IME (Input Media Editors).

Вы можете настроить не только символы ввода, но и раскладку клавиатуры в приложении, автозаполнение и другие параметры.

Возможно, вы захотите прочитать этот пост в блоге разработчиков Android: Обновление приложений для методов ввода на экране

1 голос
/ 02 марта 2011

Убедитесь, что у вас есть только: <EditText android:numeric="decimal" />

и не оба: <EditText android:numeric="decimal" android:digits="0123456789." />

Последнее, то есть использование цифр и цифр не работало для меня. Однако используются только числовые произведения.

0 голосов
/ 05 декабря 2011
<EditText android:numeric="decimal" />

только не влияет на преобразование клавиатуры в десятичное число. Вместо этого используйте:

  <EditText android:inputType="phone" android:numeric="decimal"></EditText>

Показывает только цифровую клавиатуру.

...