通常情况下,无需编写android后退按钮功能并让您回到以前的窗体。在我的应用程序中,我正在努力,而不是回头它关闭应用程序。我也尝试通过代码处理后退按钮,但这也不起作用,它忽略了代码!Android背景按钮在Delphi XE5/XE6中无法正常工作
这是我用来处理后退按钮的代码:
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
var KeyChar: Char; Shift: TShiftState);
var
FService: IFMXVirtualKeyboardService;
begin
if Key = vkHardwareBack then
begin
TPlatformServices.Current.SupportsPlatformService
(IFMXVirtualKeyboardService, IInterface(FService));
if (FService <> nil) and (TVirtualKeyboardState.Visible
in FService.VirtualKeyBoardState) then
begin
// Back button pressed, keyboard visible, so do nothing...
end
else
begin
// Back button pressed, keyboard not visible or not supported on this platform
close;
end;
end;
end;
我曾经使用Delphi XE5,现在我用XE6,希望问题得到解决,但regrettingly没有。另外上面的代码是针对Delphi XE6的版本,对于XE5它略有不同。
UPDATE:
我发现我的问题修复。但我的德尔菲仍然反应非常奇怪。当我创建一个新项目并添加我之前项目中的文件时,我可以使用android后退按钮返回。但只要我再次保存该项目,然后尝试运行它,那么它就停止工作。
此代码是否适用于香草应用程序? –
是的,它的确如此。另外,当你查找delphi android backbutton时,你会得到这段代码。对于其他人它确实工作 – Remi
因此,问题中的代码在vanilla应用程序中的行为与预期相同,但不在您的应用程序中。在这一点上,问题完全是关于应用程序中的代码而不是问题中的代码。您应用中的代码只能由您看到。我们能帮你什么吗?是时候制作一个SSCCE了。 –