У андроида есть цифровая клавиатура?

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

5 ответов

Решение

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

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

<EditText android:numeric="decimal" />

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

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

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

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

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

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

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

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

<EditText android:numeric="decimal" />

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

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

Это покажет только цифровую клавиатуру.

Другие вопросы по тегам