带有LG G4编号和小数的Android键盘

时间:2016-06-09 09:16:56

标签: android android-layout keyboard

我在Android EditText 中使用以下元素,使用带有数字和小数的键盘来显示数量输入的键盘布局(例如 22.12 )。

android:inputType="numberDecimal"

它适用于所有设备,如三星,Nexus,索尼等。

键盘布局如下所示。 Nexus keyboard Layout

LG G4上的键盘布局如下所示。LG G4 keyboard Layout

有人可以帮忙,如何为LG G4配备十进制键盘。我已经尝试了android:inputType="phone",但问题仍然存在。

我想坚持使用十进制输入,因为输入一个完整的字母数字键盘并不是很好。

提前致谢。

2 个答案:

答案 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手机,所以我个人无法测试其中任何一种。但仍值得一试。

  1. 尝试将输入类型设为android:inputType="phone"。 在开发网站上看到了这一点,更多细节请https://developer.android.com/training/keyboard-input/style.html#Type

  2. 这是我几年前尝试过的,它对我有用,但我的情况有所不同。在xml中的EditText项目中指定一个属性。

    机器人:位数=&#34; 0123456789&#34;

  3. 它的作用是,将视图设置为接受数字输入,并仅设置digits属性中提到的特定项。我个人并没有太多使用它,它更像是一个黑客而不是一个解决方案,但它可以完成任务。有关以下链接的更多信息:

    https://developer.android.com/reference/android/widget/TextView.html

    尝试这些,希望他们能帮助解决所有问题。