5

我想要一个电话般的软键盘,只允许输入数字。仅限电话号码的软键盘

我可以通过inputType =“number”(其中软键盘为默认值,但只允许数字作为输入)以及phoneType风格(inputType =“phone”)来实现“唯一数字”。但是,即使风格是类似电话的类型,当像电话一样放在一起时,软键盘允许使用数字以外的符号。

我希望手机般的风格,因为数字按钮更大,更容易按,我只需要输入数字。

除了创建自定义键盘之外,还有什么建议吗?

回答

5

您可以强制键盘时,您可以直接设置输入型数字之一,不知道是否有额外的按钮

EditText t = (EditText) findViewById(R.id.edittext1); 

t.setRawInputType(Configuration.KEYBOARD_12KEY); 

t.setRawInputType(InputType.TYPE_CLASS_PHONE); 

我用的第一个相当一段时间,它的工作,不知道最近的Android版本。

但是,您不能影响布局。他们的键盘由当前键盘提供,它可以做任何事情。甚至像给你2个按钮让用户输入莫尔斯码如https://play.google.com/store/apps/details?id=org.emergent.android.morseime

如果是键盘你得到的是不是你想要的,你必须实现自己的 - 有10个按键相对简单的布局是不是太多的工作。

+0

感谢您的回答。这两种方式都可以像inputType =“number”那样工作。这是我想要的和正确的答案。问题:在使用一种方法或另一种方法(至少在我的Android 2.2.1手机上)之间我看不到任何真正的差异(至少在视觉和输入行为中)。两者之间应该有什么不同?还是它们只是同义词? –

+1

两者都是'int's,值为'3'。所以没有区别。不知道哪一个是官方支持的版本。 – zapl

+0

好的......感谢您的快速回复......我会尽快进行搜索! –