У андроида есть цифровая клавиатура?
Есть ли способ в Android, чтобы вызвать только цифровую клавиатуру, то есть виртуальную клавиатуру, которая содержит только цифры от 0 до 9 и "." знак?
5 ответов
Если вы говорите об ограничении ввода до 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>
Это покажет только цифровую клавиатуру.