有没有办法让一个Android软键盘只有数字(没有小数点,空格)与Java代码?
我有一个使用不同键盘布局的iPhone应用程序。 有些是自定义的,有些是内置的:
仅数字:
小数点:
ISBN号码的自定义Xbutton:
我想在Android上做同样的事情,但即使是正常的InputType.TYPE_CLASS_NUMBER
仍然包含小数点,空格,逗号等。
我怎样才能在Android中自定义键盘?
使用内置键盘是不可能的。 你将不得不开发一个自定义的软键盘,或者写一个像键盘replace一样工作的内联视图。
我认为这个问题已经在StackOverflow上得到了解答。 看这个:
只在Android软键盘上显示数字button?
@twaddington是正确的,你所要求的将不可能与内置的键盘。 您可以采取的一项措施是防止input非数字,并为您的EditText
设置以下XML格式。
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已经添加了我们正在寻找的function。 这是我用于简单的EditText数字input的XML:
android:inputType="numberPassword" android:digits="0123456789" android:singleLine="true" android:ems="4" android:textColor="@android:color/black" android:gravity="center"
- Phonegap 3.5.0 Cordova File API错误:无法读取未定义的属性'dataDirectory'
- 确定用户是否安装了应用程序(AIR / AS3)
- 创建一个仅指向URL的移动应用
- Google Drive Picker(JavaScript)无法移动友好/响应
- 是否有可能使用蓝牙连接iOS和Android设备?
- Firebase:我可以使用Facebook的新帐户套件对应用用户进行身份validation吗?
- Paypal MPL IOS SDK“系统当前不可用。 请稍后再试”
- 无法在iOS上与Bing Map交互; Android不显示多段线(Flex Mobile App,通过StageWebView使用Javascript API)
- 如何在跨平台项目中共享代码和资产?