Android 三星A50的EditText输入类型问题
除三星A50外,这款手机在众多手机型号中都能发挥作用:Android 三星A50的EditText输入类型问题,android,android-edittext,samsung-mobile,samsung-galaxy,Android,Android Edittext,Samsung Mobile,Samsung Galaxy,除三星A50外,这款手机在众多手机型号中都能发挥作用: <EditText ... android:digits="0123456789-" android:inputType="numberDecimal" /> 这是“修补程序”解决方案: <EditText ... android:digits="0123456789-" android:inputType="phone" /> 除了三星之外,你知道这一失
<EditText
...
android:digits="0123456789-"
android:inputType="numberDecimal" />
这是“修补程序”解决方案:
<EditText
...
android:digits="0123456789-"
android:inputType="phone" />
除了三星之外,你知道这一失败的原因吗?你可以通过以下更准确的方式实现这一点:
android:digits="0123456789-"
android:inputType="numberSigned"
来自A50S的输出:
不同的制造商做不同的事情,他们中的一些人将GUI的显示规则仅仅作为建议(我在华为的一些设备上看到过类似的问题)
我建议在用户输入后用正则表达式检查输入,看看输入是否有意外字符,如果有,请拒绝,因为您不能保证每个移动设备的输入显示都会显示您要求的方式(即使这是使用inputType和digits的一种方式!)是的,我也在检查输入是否正确,但为了更好的用户体验,键盘也应限于输入类型。在这种情况下,我需要一个可能包含额外字符的数值
“-”
。