我在Android EditText 中使用以下元素,使用带有数字和小数的键盘来显示数量输入的键盘布局(例如 22.12 )。
android:inputType="numberDecimal"
它适用于所有设备,如三星,Nexus,索尼等。
有人可以帮忙,如何为LG G4配备十进制键盘。我已经尝试了android:inputType="phone"
,但问题仍然存在。
我想坚持使用十进制输入,因为输入一个完整的字母数字键盘并不是很好。
提前致谢。
答案 0 :(得分:3)
<强>更新强> 似乎毕竟不需要使用标志来获取小数点分隔符,实际上是TYPE_TEXT_FLAG_NO_SUGGESTIONS使键盘搞砸了所以不要将它与数字输入类型一起使用。还注意到LG键盘看起来不同,具体取决于您是否从代码与XML设置输入类型 END UPDATE
看起来inputType和digits的组合解决了这个问题。我有一个扩展EditText的类,所以我初始化EditText,如下所示:
setKeyListener(DigitsKeyListener.getInstance("0123456789.,"));
setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);
我想这是因为LG在同一个按钮中捆绑了小数分隔符和减号,你必须先配置这两个功能,然后禁用&#34; - &#34;不包括在数字中。
答案 1 :(得分:0)
我可以想到两种可能的方式,但我没有LG手机,所以我个人无法测试其中任何一种。但仍值得一试。
尝试将输入类型设为android:inputType="phone"
。
在开发网站上看到了这一点,更多细节请https://developer.android.com/training/keyboard-input/style.html#Type
这是我几年前尝试过的,它对我有用,但我的情况有所不同。在xml中的EditText项目中指定一个属性。
机器人:位数=&#34; 0123456789&#34;
它的作用是,将视图设置为接受数字输入,并仅设置digits属性中提到的特定项。我个人并没有太多使用它,它更像是一个黑客而不是一个解决方案,但它可以完成任务。有关以下链接的更多信息:
https://developer.android.com/reference/android/widget/TextView.html
尝试这些,希望他们能帮助解决所有问题。