安卓系统有数字键盘吗?

13

在Android中,有没有一种方法可以调用仅包含数字0到9和“.”符号的虚拟键盘?

5个回答

26

尝试使用 android:inputType="phone"


1
inputType 现在已被弃用。还有其他方法吗? - Manikandan
不知道 - 自从我上次看 Android 相关的东西已经过了很长时间了。文档中是否说明了推荐的替代方案,因为它已经被弃用了呢? - Peter Boughton

6
基本上,你需要Peter Boughton所说的内容。
更一般地说,如果你需要根据你在EditText组件中期望的输入来调用不同类型的键盘,你应该使用IMF(输入媒体框架)和不同的IME(输入媒体编辑器)。
你可以自定义应用程序中键盘的输入符号以及布局、自动完成和其他选项。
你可能想阅读Android开发者博客中的这篇文章: 更新应用程序以适应屏幕输入方法

6
如果您想限制EditText框中的输入为0-9和 ".",我会在布局XML中使用android:numeric="decimal"属性。
<EditText android:numeric="decimal" />

如果你正在使用动态生成的EditText视图,需要调用相关方法setKeyListener()

。该方法可以设置键盘监听器。


1
请确保您只有以下代码: <EditText android:numeric="decimal" /> 而不是这两个: <EditText android:numeric="decimal" android:digits="0123456789." /> 后者,即同时使用numeric和digits对我来说无效。然而,仅使用numeric有效。

这是正确的。如果您具有numeric:integer和inputType:phone,则无法正常工作。仅使用numeric:integer会为您提供电话键盘,并将其限制为只能输入数字。 - Steven Elliott

0
<EditText android:numeric="decimal" />

仅仅不会影响键盘将数字转换为十进制。 相反,请使用:

  <EditText android:inputType="phone" android:numeric="decimal"></EditText>

这将仅显示数字键盘。


2
inputType现在已经过时了。还有其他的方法吗? - Manikandan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接