我正在使用Delphi XE6开发Android应用程序,该应用程序也应该(也)使用物理键盘(Q10,PassPort)在Blackberry OS10上运行(通过侧载APK文件)。除了TEdit控件之外,整个应用程序在Q10上运行良好。 TEdit-controls jsut不接受来自物理键盘的输入。然而奇怪的是,函数InputBox和InputQuery DO工作,他们也使用TEdits。
即使是最简单的应用程序(1个TEdit,1个调用InputBox的Button)也仅适用于InputBox,TEdit不会从物理键盘接收输入。
答案 0 :(得分:0)
FMX.Dialogs.InputBox()
和FMX.Dialogs.InputQuery()
函数在内部使用IFMXDialogService.InputQuery()
。在Android上,IFMXDialogService.InputQuery()
会在其上显示标准的Android AlertDialog
标准Android EditText
。它不会显示带有TEdit
控件的FireMonkey对话框。因此Android有自己的对话框控件可以响应键盘,因为Android正在完成所有的UI工作。
Blackberry不是一个官方支持的平台,因此可能存在差异与本地" Android系统和Blackberry的沙盒Android系统,FireMonkey在处理硬件输入时不喜欢/不知道。
触摸屏键盘有同样的问题吗?