【问题标题】:Delphi FMX: How to reliably detect pressing of Return key on Android device?Delphi FMX:如何可靠地检测 Android 设备上的 Return 键按下?
【发布时间】:2017-03-06 19:07:47
【问题描述】:

鉴于 Delphi 10.1 Berlin update 2 Firemonkey Android 应用程序和 TEdit。我喜欢检测用户在 TEdit 中何时按下 Enter 键。

我已经实现了一个 OnTyping 事件,在该事件中循环了 .Text 属性的所有字符。 如果检测到 vkLineFeed 或 vkReturn,则为 Enter(我通过发现某些设备确实发送了 vkLineFeed 而不是 vkReturn 来添加对 vkLineFeed 的检查)。

ReturnKeyType 是默认值。当设置为完成或执行时,看起来我什至没有在 .Text 中看到 Enter 键。 TEdit 的 OnKeyDown/OnKeyUp 事件不会在 Android 上的 FMX 应用中故意触发。

但现在我遇到了一个设备,它只是在输入时关闭键盘,但没有向我发送任何“输入”字符。这是一台搭载 Android 4.4 的 LG L50。

有什么方法可以可靠地检测 Android/FMX 上的返回压力吗?

【问题讨论】:

    标签: delphi keyboard edit firemonkey enter


    【解决方案1】:

    这是一个可行的解决方案: http://www.danielespinetti.it/2017/03/intercept-keyevent-on-android-with.html

    我在试用时遇到了备忘录的问题,但是在我向表单添加了 TEdit 并用那个进行测试后(因为我想使用 TEdit)它在 LG L50 上运行。需要在其他设备上进行进一步测试,但由于那是无法正常工作的设备...

    有趣的是,用于显示打开应用程序列表(最右侧)的硬件密钥被检测为 0x12。

    【讨论】:

      【解决方案2】:

      您还可以使用 TEdit.OnChangeTracking 事件,该事件在将单个字符键入编辑控件时发生。或 OnExit 事件

      【讨论】:

      • 问题是:在某些设备上,输入文本中似乎没有输入字符!
      猜你喜欢
      • 2011-06-21
      • 1970-01-01
      • 2020-03-08
      • 2015-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 2014-08-13
      相关资源
      最近更新 更多