我正在开发一个具有多个input[type=numer]
元素。目前仅限安卓。
内置数字键盘有两个问题:
* it's inconsistent (different on different versions of Android)
* it has unnecessary keys (space, dash, comma and "next") which add confusion.
我想要一个键盘numbers, comma and backspace
。那可能吗?
2013 年 10 月 3 日编辑。第三个问题出现了,这是迄今为止最糟糕的。看起来三星决定跳过数字键盘中的小数字符(“.”),至少是在input[type=numer]
获得浏览器的焦点。似乎所有 Galaxy S4 设备都受到影响(我在 S4 Mini 上看到过它,我无法访问许多三星设备......我看到的都是 Nexus 爱好者:-))。我在 Google 中找不到太多有关此问题的信息,但我在 2012 年曾看到 Galaxy S4 用户抱怨过这个问题(几周前我在一台 S3 上尝试过,效果还不错)。
长话短说,经过仔细考虑,我决定在 html/javascript 中实现我自己的键盘(三星太重要了,我只是因为它而得到了不好的评论,我不认为我可以做任何事情来修复它)。我正在重写我的应用程序,完成后我会尝试记住并讲述这个故事。
编辑 2013 年 12 月 3 日。我当前的解决方案(仍处于 alpha 阶段,应用程序重写花费的时间比我预期的要长)是完全用 javascript 实现的键盘。我使用常规的 元素而不是 来防止操作系统键盘弹出。作为一个额外的好处,我可以控制键盘的所有内容,因此我添加了一些算术键(x、-、*、/、(和)),用户可以输入表达式,例如“3x(2+5.5 )”而不是“15”。当应用程序准备就绪时(至少还需要几周),我将链接到该应用程序。
就是这样。
首先,将您的 Activity 配置为从不显示键盘(尝试 android:windowSoftInputMode = "stateAlwaysHidden")。如果 EditText 坚持拉起它,你可能会遇到一些问题,但你可以基于 TextView 制作一个模拟 EditText 来解决这个问题,或者继承 EditText 并重写一些方法。有多个指南,如下所示:关闭/隐藏 Android 软键盘 https://stackoverflow.com/questions/1109022/close-hide-the-android-soft-keyboard
其次,创建您自己的 UI 键盘元素,其中包含您想要的任何按钮,无论您想要什么布局,并捕获此键盘上的按钮按下,对于每次按下,将适当的字符附加到 EditText/TextView 的显示文本中。
也就是说,用户可能不喜欢它。尽管您讨厌每个设备的键盘看起来都不同,但每个用户都是used他自己的键盘,并希望在编辑文本时看到它。我敦促你重新考虑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)