当Android软键(三角形、圆形、矩形)在Delphi FMX中自动显示时隐藏
我在MyApp上将我的表单设置为全屏。因此,这意味着该表单将覆盖Android屏幕的所有区域,包括软键(在目前的Android手机中)和信息栏(电池、SIM卡、信号信息等)。不幸的是,MyApp使用了fmx(TDialogService.MessageDialog)附带的一些默认对话框bog,它会触发设备显示软键,并且在对话框关闭时不会自动隐藏 我试图通过添加如下新过程来隐藏虚拟键盘:当Android软键(三角形、圆形、矩形)在Delphi FMX中自动显示时隐藏,android,delphi,firemonkey,android-softkeyboard,Android,Delphi,Firemonkey,Android Softkeyboard,我在MyApp上将我的表单设置为全屏。因此,这意味着该表单将覆盖Android屏幕的所有区域,包括软键(在目前的Android手机中)和信息栏(电池、SIM卡、信号信息等)。不幸的是,MyApp使用了fmx(TDialogService.MessageDialog)附带的一些默认对话框bog,它会触发设备显示软键,并且在对话框关闭时不会自动隐藏 我试图通过添加如下新过程来隐藏虚拟键盘: procedure TForm1.HideSoftKeyAndVKeyboard; var FService:
procedure TForm1.HideSoftKeyAndVKeyboard;
var FService: IFMXVirtualKeyboardService;
begin
TPlatformServices.Current.SupportsPlatformService
(IFMXVirtualKeyboardService, IInterface(FService));
FService.HideVirtualKeyboard;
end;
但软键仍然存在
你有解决这个问题的办法吗?非常感谢。也有同样的问题,尤其是在匿名线程之后。 为我工作
uses Androidapi.JNI.GraphicsContentViewText, Androidapi.JNIBridge, Androidapi.JNI.JavaTypes, FMX.Helpers.Android, Androidapi.Helpers;
在对话框结束或线程终止后
var
uiOptions: Integer;
begin
uiOptions := SharedActivity.getWindow.getDecorView.getSystemUiVisibility;
SharedActivity.getWindow.getDecorView.setSystemUiVisibility(
TJView.JavaClass.SYSTEM_UI_FLAG_LAYOUT_STABLE
or TJView.JavaClass.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
or TJView.JavaClass.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or TJView.JavaClass.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
or TJView.JavaClass.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
or 2048); // SYSTEM_UI_FLAG_IMMERSIVE = 2048
end;
您是如何将应用程序设置为全屏的?