【发布时间】:2015-11-15 12:42:07
【问题描述】:
我在 Java 语言中找到了许多解决方案,但我找不到 AS3(AIR 应用程序)的答案。 Adobe 帮助中也没有解决方案。我正在使用StageText 并且需要在用户按下“完成”按钮(或returnKeyLabel 定义的任何其他按钮时捕获事件。
有什么建议吗?我会很感激的。
【问题讨论】:
标签: actionscript-3 air event-handling soft-keyboard
我在 Java 语言中找到了许多解决方案,但我找不到 AS3(AIR 应用程序)的答案。 Adobe 帮助中也没有解决方案。我正在使用StageText 并且需要在用户按下“完成”按钮(或returnKeyLabel 定义的任何其他按钮时捕获事件。
有什么建议吗?我会很感激的。
【问题讨论】:
标签: actionscript-3 air event-handling soft-keyboard
本机文本字段上的软键盘事件与使用基于 Flash 的 TextField(或此类)不同,因为它是在正常的 DisplayList 层次结构之外创建的,因此没有可用的相同事件处理。
您要查找的事件是 enter,将 EventListener 附加到该事件上,您可以捕获您的“完成”。
否则,您需要考虑使用“基于文本字段的皮肤”,以便捕获每个 keyDown 和 keyUp,并在事件处理程序中过滤并仅对您感兴趣的键做出反应。
要确定用户何时使用软键盘,您可以 侦听文本输入控件上的 FlexEvent.ENTER 事件。这 当按下返回键时,控件会调度此事件。经过 监听输入事件,可以进行验证,改变 聚焦,或对最近输入的文本进行其他操作。
在某些情况下,不会分派 enter 事件。这个限制 最后一次使用软键盘时出现在 Android 设备上 视图上的文本输入控件。要解决此问题,请将 returnKeyLabel 属性在最后一个文本输入上进行、下一步或搜索 控制视图。
【讨论】: