给出Delphi 10.1 Berlin更新2 Firemonkey Android应用程序和TEdit。我想检测用户何时在TEdit中按Enter键。
我已经实现了一个OnTyping事件,我遍历了.Text属性的所有字符。 如果检测到vkLineFeed或vkReturn,则为Enter(我添加了对vkLineFeed的检查,发现某些设备确实发送了那个而不是vkReturn)。
ReturnKeyType是默认值。当设置为完成或转到它看起来我甚至没有得到Enter键来查看.Text。 TEdit的OnKeyDown / OnKeyUp事件不会在Android上的FMX应用程序中故意触发。
但是现在我遇到了一个设备,它只是在输入时关闭键盘但是没有发送给我任何"输入"焦炭。它是Android L的LG L50。
是否有一些方法可以在Android / FMX上可靠地检测退货?
答案 0 :(得分:0)
这是一个有效的解决方案: http://www.danielespinetti.it/2017/03/intercept-keyevent-on-android-with.html
我在尝试时遇到了备忘录的问题,但在我将TEdit添加到表单并使用该表进行测试后(因为我想使用TEdit无论如何),它在LG L50上运行。需要对其他设备进行进一步的测试,但由于那是不起作用的设备......
有趣的是,用于显示打开的应用列表(最正确的一个)的硬件密钥被检测为0x12。
答案 1 :(得分:0)
您还可以使用TEdit.OnChangeTracking事件,即在编辑控件中键入单个字符时发生的事件。或OnExit事件