我正在开发一款Android应用程序,其中使用WebView来显示从Web服务器提供的网页。除了一个问题外,一切都正常:当我使用软键盘并切换到数字键入时,移动到下一个字段时,键盘布局会自动更改为字母数字混合。
是否有办法只在需要输入数字时才以数字模式弹出虚拟键盘?
谢谢和问候。
editTextField.setRawInputType(Configuration.KEYBOARD_QWERTY);
这显示了正常的键盘,带有数字版本优先,但允许您在它们之间切换。
getInput.setRawInputType(Configuration.KEYBOARD_12KEY);
这仅显示数字,没有输入文本值的选项。
我遇到了类似的情况。我只想要数值,但我有一个是文本的“提示”。将 inputType 设置为“number”将无法显示提示。这种方法可以很好地解决它。
Configuration.KEYBOARD_12KEY
或Configuration.KEYBOARD_QWERTY
是错误的方式。
你需要在EditText setRawInputType()
上使用InputType(在此处显示文档)。
如果你在谈论HTML,你可以使用HTML5的功能,例如:
Number: <input type="number" name="points" min="1" max="10" />
我已经在HTC Desire浏览器中进行了测试,并且当您输入此类字段中的数据时,它会弹出不同(数字)键盘。
android:inputType
XML属性并指定number
或numberDecimal
值:<EditText
android:text=""
android:id="@+id/editTextNumber"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal">
</EditText>
祝您愉快!