如何在不强制数字input的情况下默认使用EditText上的数字键盘?
这已经在网上其他地方被要求无济于事。 有没有什么办法可以让Android在显示数字软键盘的时候关注EditText
,但是仍然可以input任何文字?
我想让用户input数量(例如“1公斤”,“2升”),所以只需设置inputType="number"
将不起作用。
添加下面的代码行,它会做的伎俩:)
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
这将首先显示数字小键盘,但也允许您input自由文本。
更多信息在这里 。
这可能是设备依赖,但你有没有尝试过:
android:inputType="phone"
所有inputtypes链接
在EditText的xml中,这会给你数字键盘的键盘,但是你仍然可以切换到字母的,如果你想。 (至less在我的Nexus One上)。
请注意:setRawInputType(InputType.TYPE_CLASS_NUMBER);
在某些设备上具有预期的效果,但不是其他设备
在HTC它工作正常,但在星系标签II,你只能得到数字键盘,没有办法切换回阿尔法。
用XML编写代码,android:numeric =“integer”android:inputType =“phone”android:digits =“1234567890”
它看起来像你正在处理的基本问题是:我怎样才能让用户input数量?
一个合适的答案是:数字input,与单位的某种forms的类别select配对。 例如广播,下拉,或微调。 这可能更容易使用,也可以节省您每次validationinput的麻烦。
你也可以只有铁的cojones和写一个自定义的软键盘。
我想了很多不同的组合,但是这似乎工作正常:
setRawInputType(InputType.TYPE_CLASS_NUMBER);
关键在于setRawInputType(int)
的描述:
直接更改文本视图的内容types整数, 而不修改任何其他状态 。