我有一个使用不同键盘布局的 iPhone 应用程序。有些是定制的,有些是内置的:
仅限数字:
小数点:
ISBN 编号的自定义 X 按钮:
我想在 Android 上做同样的事情,但即使是正常的InputType.TYPE_CLASS_NUMBER
仍然包括小数、空格、逗号等。
如何在 Android 中自定义键盘?
我有一个使用不同键盘布局的 iPhone 应用程序。有些是定制的,有些是内置的:
仅限数字:
小数点:
ISBN 编号的自定义 X 按钮:
我想在 Android 上做同样的事情,但即使是正常的InputType.TYPE_CLASS_NUMBER
仍然包括小数、空格、逗号等。
如何在 Android 中自定义键盘?
我认为这个问题已经在 StackOverflow 上得到了回答。看这个:
@twaddington 是正确的,内置键盘无法满足您的要求。为了防止输入非数字,您可以做的一件事是在 XML 中为您的EditText
.
android:inputType="phone"
android:digits="1234567890"
如果您想在代码中而不是在 XML 中这样做,我认为这应该可行:
numericField.setInputType(Configuration.KEYBOARD_12KEY);
numericField.setKeyListener(new DigitsKeyListener());
要开发自己的数字软键盘,本教程可能会有所帮助。
使用内置键盘是不可能的。你必须开发一个自定义软键盘,或者编写一个像键盘替代品一样工作的内联视图。
请使用 inputType = "number",然后您将只获得数字键盘。
<EditText android:inputType="number"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
我希望它会帮助你。:)
有一种方法。采用
numericField.setInputType(InputType.TYPE_NUMBER_VARIATION_NORMAL|InputType.TYPE_CLASS_NUMBER);
它预计仅在 Holo 上使用数字键盘,并在较低版本上向后兼容数字键盘。
似乎 Android 已经添加了我们正在寻找的功能。这是我用于简单 EditText 数字输入的 xml:
android:inputType="numberPassword"
android:digits="0123456789"
android:singleLine="true"
android:ems="4"
android:textColor="@android:color/black"
android:gravity="center"