java - 是否可以在文本键盘之前打开数字键盘?
问题描述
我有一个需要为“文本”类型的 editText,但我希望当它获得焦点时,我的 Android 键盘会首先打开显示数字,而不是默认的字母。
我已经研究了一段时间,但我找不到答案。谁能告诉我是否可以这样做?
PS:将我的editText设置为“数字”并不能得到我需要的结果。
编辑 我需要我的键盘在打开时具有这种行为:https ://streamable.com/2ohsaz ;也就是说,用户可以键入他想要的任何内容,但必须首先出现数字键盘选项
解决方案
不,没有。键盘是一个单独的应用程序,它可以决定显示什么。有一个 API 可以向键盘提供提示,例如 NUMBER 告诉它应该显示数字。但是没有 API 可以告诉它在特定时间显示特定信息。您可以尝试通过设置输入类型来破解它,但键盘更有可能会忽略或因更改输入类型而感到困惑,因为它们实际上不应该改变,直到聚焦新字段。
因为键盘是一个独立的应用程序,它不是操作系统的一部分,并且经常被 OEM 和用户替换,所以您不能要求这样的特殊高级行为 - 应用程序和键盘之间的 API 没有设置为允许这样做,并且主要受惯例和期望的指导。因此,您使用的任何高级技巧都适用于某些设备,并可能完全破坏其他设备。因此,它建议除了设置初始输入类型之外,让键盘做它想做的事情。
推荐阅读
- tomcat - RESTeasy ContainerRequestFilter 部署到tomcat时不包含用户信息(容器管理身份验证)
- flutter - Flutter:我想访问 setstate 的更改值,当我访问它时它没有显示新的状态值
- android - Android - 通过 Intent 启动另一个应用程序时保持演示文稿显示
- python - 输出: [
] - python - 重命名我的 pandas DataFrames 中的前 10 列
- sql - SQL Server 存储过程返回超过 50 行超时,但不是一直
- excel - 无法将formua注入excel单元格
- shell - 更改 Xamarin.Forms Shell 顶部 TabBar 的 BackgroundColor(不更改 NavigationbarColor)
- r - 为什么 lapply 带有闭包会出错?
- javascript - 递归搜索深度嵌套的对象/数组,并在不知道键的情况下收集包含指定字符串的值