我想要一个类似手机的软键盘,只允许输入数字。
我可以使用 inputType="number" 实现“只有数字”(默认为软键盘,但只允许输入数字)和使用 inputType="phone" 的类似电话的样式。但是当像数字|电话一样组合在一起时,即使样式是类似电话的,软键盘也允许使用数字以外的符号。
我想要类似电话的风格,因为数字按钮更大,更容易按下,我只需要输入数字。
除了创建自定义键盘之外还有什么建议吗?
我想要一个类似手机的软键盘,只允许输入数字。
我可以使用 inputType="number" 实现“只有数字”(默认为软键盘,但只允许输入数字)和使用 inputType="phone" 的类似电话的样式。但是当像数字|电话一样组合在一起时,即使样式是类似电话的,软键盘也允许使用数字以外的符号。
我想要类似电话的风格,因为数字按钮更大,更容易按下,我只需要输入数字。
除了创建自定义键盘之外还有什么建议吗?
直接设置输入类型时可以强制键盘为数字,不确定是否有额外的按钮
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 个按钮的布局并没有那么多工作。