Android webView:使用input type = text时,默认情况下可以先设置数字键盘

前端之家收集整理的这篇文章主要介绍了Android webView:使用input type = text时,默认情况下可以先设置数字键盘前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个使用webview呈现一些 HTML页面的应用程序.
这个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;
}
原文链接:https://www.f2er.com/android/315661.html

猜你在找的Android相关文章