【问题标题】:Android soft keyboard to support time in both decimal and hh:mm formatsAndroid 软键盘支持十进制和 hh:mm 格式的时间
【发布时间】:2019-04-10 02:33:40
【问题描述】:

我的 Android 应用有一个 EditText 字段,用户可以在其中输入经过的时间作为小数(例如“1.5”)或小时和分钟(例如“1:30”)。我遇到的问题是显示允许输入 0..9、句点和冒号的软键盘。

默认键盘具有我需要的字符,但用户必须始终先按 Sym 键才能输入任何有用的内容,这不是很有效。

在 EditText 中,如果我尝试使用 inputType="numberDecimal"、inputType="time" 或 inputType="datetime" 等,我会得到一些数字、句点和冒号的组合,但不是全部都在同款软键盘。我已经在几款不同的三星 Galaxy 设备上对此进行了测试。

是否有我可以使用的包含我需要的字符的软键盘,或者有没有办法自定义在特定软键盘上显示的字符?额外的好处是还允许使用逗号作为欧式小数(例如“1,5”)。

【问题讨论】:

    标签: android


    【解决方案1】:

    在这里恢复旧帖子,但我今天遇到了类似的问题,我需要在不显示完整键盘的情况下同时选择小数点和冒号。对于EditText,可以使用以下属性:

    android:inputType="time"
    

    在我设备的备用键盘上,仍然有几个额外的输入(破折号和空格),但它足够接近我需要的内容,而无需创建自定义键盘。要限制不需要的输入,您可以在 EditText 中指定可接受的输入:

    android:digits="0123456789:."
    

    【讨论】:

    • 嗯,在过去的 3.5 年里,我们已经将应用程序移植到 React Native,但这正是我所寻找的。 :)
    【解决方案2】:

    在 EditText 中,如果我改为尝试 inputType="numberDecimal"、inputType="time" 或 inputType="datetime" 等,我会得到一些数字、句点和冒号的组合,但不是全部都在相同的软键盘。

    inputType 是一个提示。有成百上千的 Android 输入法编辑器实现,包括用户预装和安装。没有人需要注意inputType。那些这样做的人可以做他们想做的事情来回应它。

    我可以使用包含我需要的字符的软键盘

    没有inputType对应你想要的,也不需要任何输入法编辑器去关注。

    有没有办法自定义特定软键盘上显示的字符?

    没有。

    【讨论】:

    • 听起来唯一的答案就是为应用程序创建我自己的软键盘......
    • @Roger:如果你说的“软键盘”是指输入法编辑器,那不是针对应用程序,而是针对整个设备。当然欢迎您创建自己的一组按钮或其他东西。即兴发挥,我根本不会使用 EditText,而是使用其他东西来收集持续时间(例如,两个 NumberPicker 小部件代表小时和分钟)。
    猜你喜欢
    • 2018-08-28
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    相关资源
    最近更新 更多