3

我有一个使用不同键盘布局的 iPhone 应用程序。有些是定制的,有些是内置的:

仅限数字:

仅限数字

小数点:

小数点

ISBN 编号的自定义 X 按钮:

ISBN 编号的自定义 X 按钮

我想在 Android 上做同样的事情,但即使是正常的InputType.TYPE_CLASS_NUMBER仍然包括小数、空格、逗号等。

安卓

如何在 Android 中自定义键盘?

4

5 回答 5

4

我认为这个问题已经在 StackOverflow 上得到了回答。看这个:

仅在 Android 软键盘上显示数字按钮?

@twaddington 是正确的,内置键盘无法满足您的要求。为了防止输入非数字,您可以做的一件事是在 XML 中为您的EditText.

android:inputType="phone"
android:digits="1234567890"

如果您想在代码中而不是在 XML 中这样做,我认为这应该可行:

numericField.setInputType(Configuration.KEYBOARD_12KEY);
numericField.setKeyListener(new DigitsKeyListener());

要开发自己的数字软键盘,本教程可能会有所帮助。

于 2012-12-07T22:29:19.817 回答
3

使用内置键盘是不可能的。你必须开发一个自定义软键盘,或者编写一个像键盘替代品一样工作的内联视图。

于 2012-12-07T22:17:08.370 回答
0

请使用 inputType = "number",然后您将只获得数字键盘。

<EditText android:inputType="number"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

我希望它会帮助你。:)

于 2012-12-07T22:26:28.317 回答
0

有一种方法。采用

numericField.setInputType(InputType.TYPE_NUMBER_VARIATION_NORMAL|InputType.TYPE_CLASS_NUMBER);

它预计仅在 Holo 上使用数字键盘,并在较低版本上向后兼容数字键盘。

于 2013-09-13T16:38:13.960 回答
0

似乎 Android 已经添加了我们正在寻找的功能。这是我用于简单 EditText 数字输入的 xml:

    android:inputType="numberPassword"
    android:digits="0123456789"
    android:singleLine="true"
    android:ems="4"
    android:textColor="@android:color/black"
    android:gravity="center"
于 2015-11-24T15:41:53.867 回答