我们有一个使用webview呈现一些
HTML页面的应用程序.
这个HTML页面有输入类型,我们使用input-type = number,因为我们只接受此字段中带小数的数字.
所以数字 android键盘出现小数点.
这个HTML页面有输入类型,我们使用input-type = number,因为我们只接受此字段中带小数的数字.
所以数字 android键盘出现小数点.
问题是三星设备更新到Android 4.3.现在数字键盘上缺少小数点.
因此我们需要使用通用键盘来获得小数点.问题是公共键盘出现了字母,我们默认希望键盘出现在键盘的数字部分,以使用户更友好.像这样.
我们怎样才能做到这一点?
编辑:也许我没有解释清楚.问题出在不在Android TextView中的HTML页面上
所以android:type答案都没用.
解决方法
对WebView进行子类化并重写onCreateInputConnection方法可以将小数分隔符转换为软键盘.
另一种选择是将HTML输入类型从“数字”更改为“tel”,但允许用户输入其他字符,如“*”和“#”.
这似乎是三星4.3的具体问题.
@Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection connection = super.onCreateInputConnection(outAttrs); if ((outAttrs.inputType & InputType.TYPE_CLASS_NUMBER) == InputType.TYPE_CLASS_NUMBER) { outAttrs.inputType |= InputType.TYPE_NUMBER_FLAG_DECIMAL; } return connection; }