PhoneGap / Android 自定义键盘

2024-03-16

我正在开发一个具有多个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(使用前将#替换为@)

PhoneGap / Android 自定义键盘 的相关文章

随机推荐

  • 播放路由语法以忽略 slug 的一部分

    我们想要的基本上是这样的 foo controllers FooController foo 然而这不起作用 我们找到了以下解决方法 foo ignore controllers FooController foo ignore 但这使得该
  • Docker 存储库服务器向 HTTPS 客户端发出 HTTP 响应

    我使用适用于 Windows 的 Docker 工具箱 并且正在尝试参考此文档运行私有 docker 注册表https docs docker com registry deploying https docs docker com reg
  • Windows 安全自定义登录验证

    我正在创建一个 Xaml C 应用程序 我希望它能够弹出登录提示 我想知道是否可以使用 CredUIPromptForWindowsCredentials 显示 Windows 安全对话框 获取输入的用户名和密码 执行自定义验证 如果验证成
  • 10 月 Azure SDK 在插入带有尾随空格的字符串时损坏

    有没有人解决这个问题 使用存储模拟器并将行插入表存储时 如果字段末尾有空格 则行插入会失败 两周前就已经指出了这一点 但我仍然没有看到微软对此的任何更新 有谁知道修复方法吗 微软论坛链接 http social msdn microsoft
  • 如何使用javascript获取html中的元素背景图像

    我想获取使用 css 或元素背景属性设置的所有 html 页面元素的背景图像 我怎样才能使用javascript做到这一点 The getStyle 下面的函数取自http www quirksmode org dom getstyles
  • 重写规则以返回某些 URL 的状态 200

    我希望具有特定路径的 URL 自动返回 200 状态响应 我已尝试以下操作 但当我尝试启动 Apache 时出现错误 第一个错误 RewriteCond 错误的标志分隔符 RewriteEngine On RewriteCond THE R
  • 在 XSL 中创建空格 ( )

    我尝试通过以下方式在 XSL 文档中创建自动间距 td td
  • 从现有 VHD 创建 VM:预览门户

    现在有人知道如何在新的 Azure 门户中从现有 VHD 创建 VM 吗 我可以在manage windowsazure com 中找到很多有关如何执行此操作的信息 但在portal azure com 中没有找到任何有关此功能的信息 从字
  • PendingIntent 启动和停止服务

    我正在尝试制作一个简单的小部件 其中带有一个启动按钮Service与OnClickPendingIntent 我可以很好地启动它 但我无法找到阻止它的方法 我知道我可以用BroadcastReceiver或类似的东西 但我想避免硬编码 这是
  • 如何将快照文件转换为任何其他格式?

    有没有办法将 Sql Server 快照 文件 ss 文件 转换为其他格式 例如 xml xls 或 txt 等 Thanks 快照文件是稀疏文件 http msdn microsoft com en us library aa365564
  • 理解 iOS Swift 2 中的随机数

    如何使程序中的随机数随着时间的推移而不断变化 即每次我想使用它时都成为范围内的新随机数 我很困惑 我已经阅读了 20 多篇关于如何用这种语言生成随机数的不同帖子和文章 我对此还很陌生 但我似乎无法让它发挥作用 我基本上是想从 1 0 3 0
  • 头文件之间的循环依赖

    我正在尝试实现一个包含两个类的树状结构 Tree and Node 问题是 我想从每个类调用另一个类的函数 因此简单的前向声明是不够的 让我们看一个例子 Tree h ifndef TREE 20100118 define TREE 201
  • 如何将附加参数传递给 jQuery DataTable ajax 调用?

    加载 jQuery DataTable 时 我有如下所示的代码 如何向 AJAX 调用传递附加参数 下面的问题和答案中建议的 fnServerParams 回调不起作用 也就是说 天真地使用aodata push 结果是 push is u
  • 用c#在服务器上写入XML值

    我正在尝试将值更新为 xml 文件上的标记 我使用 xmlDoc Save URLString 在本地它可以工作 但是如果我从服务器读取文件 我会收到错误 URI 不可能 服务器上的文件和文件夹权限设置为 777 None
  • 如何正确启用/禁用Flutter的Button

    经研究 当 onPressed 为 null 时 Flutter 的 Button 会自动禁用 然而 由于我必要的测试功能 我被迫放置一个箭头函数 gt 它似乎不会触发 onPressed 实际上为 null 而是返回 null 作为值 因
  • ANR(强制关闭/等待),同时生成足够大的列表

    我正在创建一种文件资源管理器 其中如果将任何应用程序文件复制到手机 SD 卡 我将在带有对话框主题的活动中向用户显示它 对于复制的每个新 app apk 我都会将应用程序的名称和位置附加到对话框中 并且列表是可滚动的 我的问题是 如果我一次
  • 使用 Fast API 接收图像,使用 cv2 处理然后返回

    我正在尝试构建一个 API 它接收图像并对其进行一些基本处理 然后使用 Open CV 和 Fast API 返回它的更新副本 到目前为止 我的接收器工作得很好 但是当我尝试对处理后的图像进行 Base64 编码并将其发送回时 我的移动前端
  • 类型错误:无法深度复制此模式对象

    试图理解我的 变量 类中的这个错误 我希望在我的 Variable 类中存储 sre SRE Pattern 我刚刚开始复制 Variable 类 并注意到它导致我的所有 Variable 类实例发生更改 我现在明白我需要深度复制此类 但现
  • CAPL 编程使用 Timer 作为延迟

    我一直在编写一个 CAPL 脚本 它会在一定的延迟后在每个通道 2 个 上发送消息 我想使用生成以下延迟设置定时器 and mtimer 正在运行功能 我可以使用 setTimer 函数 但我不知道如何使用mtimer 正在运行 代码如下所
  • PhoneGap / Android 自定义键盘

    我正在开发一个具有多个input type numer 元素 目前仅限安卓 内置数字键盘有两个问题 it s inconsistent different on different versions of Android it has un