首页 > 解决方案 > 是否可以在文本键盘之前打开数字键盘?

问题描述

我有一个需要为“文本”类型的 editText,但我希望当它获得焦点时,我的 Android 键盘会首先打开显示数字,而不是默认的字母。

我已经研究了一段时间,但我找不到答案。谁能告诉我是否可以这样做?

PS:将我的editText设置为“数字”并不能得到我需要的结果。

编辑 我需要我的键盘在打开时具有这种行为:https ://streamable.com/2ohsaz ;也就是说,用户可以键入他想要的任何内容,但必须首先出现数字键盘选项

标签: javaandroidxmlandroid-edittext

解决方案


不,没有。键盘是一个单独的应用程序,它可以决定显示什么。有一个 API 可以向键盘提供提示,例如 NUMBER 告诉它应该显示数字。但是没有 API 可以告诉它在特定时间显示特定信息。您可以尝试通过设置输入类型来破解它,但键盘更有可能会忽略或因更改输入类型而感到困惑,因为它们实际上不应该改变,直到聚焦新字段。

因为键盘是一个独立的应用程序,它不是操作系统的一部分,并且经常被 OEM 和用户替换,所以您不能要求这样的特殊高级行为 - 应用程序和键盘之间的 API 没有设置为允许这样做,并且主要受惯例和期望的指导。因此,您使用的任何高级技巧都适用于某些设备,并可能完全破坏其他设备。因此,它建议除了设置初始输入类型之外,让键盘做它想做的事情。


推荐阅读