有没有办法用Java代码获得一个只有数字(没有小数、空格)的Android软键盘?
我有一个iPhone应用程序,它使用不同的键盘布局。有些是定制的,有些是内置的: 仅限数字: 小数: ISBN编号的自定义X按钮: 我想在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
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按钮的键盘。