是否可以在文本键盘之前打开数字键盘?
Posted
技术标签:
【中文标题】是否可以在文本键盘之前打开数字键盘?【英文标题】:Is it possible to open the numeric keyboard before the text keyboard? 【发布时间】:2021-10-25 20:47:47 【问题描述】:我有一个需要为“文本”类型的 editText,但我希望当它获得焦点时,我的 android 键盘会首先打开显示数字,而不是默认的字母。
我已经研究了一段时间,但找不到答案。谁能告诉我是否可以这样做?
PS:将我的 editText 设置为“数字”并不能得到我需要的结果。
编辑 我需要我的键盘在打开时具有这种行为:https://streamable.com/2ohsaz;也就是说,用户可以输入任何他想要的内容,但必须首先出现数字小键盘选项
【问题讨论】:
@Unmitigated 这在技术上不是问题。这只是一个问题,我不知道是否可以这样做。我需要我的键盘在打开时具有这种行为:streamable.com/2ohsaz;也就是说,用户可以键入任何他想要的内容,但必须首先出现数字小键盘选项。 @Unmitigated 这根本行不通。这给了键盘一个提示,它应该只显示数字。用户或 OEM 选择的键盘应用程序可以以十几种不同的方式进行解释。他们中的大多数人将其解释为“根本没有字母”,但有些人会使用老式电话号码布局(0-9 带有 * 广告 #),一些计算器风格的布局,(0-9 带有 +-*/)或开发人员认为有用的其他任何东西。大多数不允许您从该模式返回到字母键盘,但有些允许。 【参考方案1】:不,没有。键盘是一个单独的应用程序,它可以决定显示什么。有一个 API 可以向键盘提供提示,例如 NUMBER 告诉它应该显示数字。但是没有 API 可以告诉它在特定时间显示特定信息。您可以尝试通过设置输入类型来破解它,但键盘更有可能会忽略或因更改输入类型而感到困惑,因为它们实际上不应该改变,直到聚焦新字段。
由于键盘是一个独立的应用程序,它不属于操作系统,并且经常被 OEM 和用户替换,因此您不能要求这样的特殊高级行为 - 应用程序和键盘之间的 API 不是设置允许这样做,并且主要受惯例和期望的指导。因此,您使用的任何高级技巧都适用于某些设备,并可能完全破坏其他设备。因此,它建议除了设置初始输入类型之外,让键盘做它想做的事情。
【讨论】:
以上是关于是否可以在文本键盘之前打开数字键盘?的主要内容,如果未能解决你的问题,请参考以下文章