FMX Android 的默认行为似乎是单击一个编辑然后再单击另一个编辑时,虚拟键盘会重新打开。
单击第一个编辑后,虚拟键盘已经显示,那么有没有办法在不进行转换的情况下保持虚拟键盘打开?
VKAutoShowMode := TVKAutoShowMode.Never;
然后像这样手动显示键盘
procedure TForm8.FormCreate(Sender: TObject);
var
keyboard: IFMXVirtualKeyboardService;
begin
keyboard := TPlatformServices.Current.GetPlatformService(IFMXVirtualKeyboardService) as IFMXVirtualKeyboardService;
keyboard.showVirtualKeyboard(Edit2);
end;
允许我保持键盘打开。这确实将焦点放在
Edit2
上,但不显示虚拟键盘。
文档说
如果显示屏幕虚拟键盘,ShowVirtualKeyboard 返回 True,否则返回 False。
确实
keyboard.showVirtualKeyboard(Edit2);
返回False
。
我是不是误会了什么?
尝试将 ALL 编辑表单上的控件的 ControlType 属性更改为“Platform”。这对我有用。