有没有办法用Java代码获得一个只有数字(没有小数、空格)的Android软键盘?

有没有办法用Java代码获得一个只有数字(没有小数、空格)的Android软键盘?,java,android,ios,eclipse,android-softkeyboard,Java,Android,Ios,Eclipse,Android Softkeyboard,我有一个iPhone应用程序,它使用不同的键盘布局。有些是定制的,有些是内置的: 仅限数字: 小数: ISBN编号的自定义X按钮: 我想在Android上做同样的事情,但即使是普通的InputType.TYPE\u CLASS\u NUMBER仍然包括小数、空格、逗号等 如何在Android中定制键盘???使用内置键盘是不可能的。您必须开发一个自定义软键盘,或者编写一个类似于键盘替代品的内联视图。请使用inputType=“number”,然后您将只获得数字键盘 <EditText

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

仅限数字:

小数:

ISBN编号的自定义X按钮:

我想在Android上做同样的事情,但即使是普通的
InputType.TYPE\u CLASS\u NUMBER
仍然包括小数、空格、逗号等


如何在Android中定制键盘???

使用内置键盘是不可能的。您必须开发一个自定义软键盘,或者编写一个类似于键盘替代品的内联视图。

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

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


我希望它能帮助你。:)

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

@twaddington是正确的,因为内置键盘不可能满足您的要求。防止输入非数字的一个方法是在XML中为
EditText
设置以下内容

android:inputType="phone"
android:digits="1234567890"
如果您想在代码中而不是在XML中实现这一点,我认为应该这样做:

numericField.setInputType(Configuration.KEYBOARD_12KEY);
numericField.setKeyListener(new DigitsKeyListener());
要开发自己的数字软键盘,这可能会有所帮助。

有一种方法。使用

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"

看这篇文章也许对你有帮助安卓系统现在没有内置键盘吗?我想显示一个带有0-9和delete和enter按钮的键盘。