我在Android上的 Delphi FMX中有以下代码:
TDialogService.MessageDialog('Test Close message', TMsgDlgType.mtInformation,
[TMsgDlgBtn.mbOK], TMsgDlgBtn.mbOK, 0, nil);
我需要在3秒后自动关闭TDialogService.MessageDialog
。
我尝试了Screen.MousePos.SetLocation(x, x)
设置一个水龙头来模拟。
1条答案
按热度按时间syqv5f0l1#
在Android上,
TDialogService.MessageDialog()
只是调用IFMXDialogServiceAsync.MessageDialogAsync()
(因为Android不支持同步对话框)。默认实现隐藏在FMX.Dialogs.Android
单元中的TFMXDialogService
类中。您无权访问它创建的UI对话框,因此无法手动关闭它。但是,你可以做的是编写自己的类来实现
IFMXDialogServiceAsync
接口,然后是register that class with FMX(你必须先实现remove the default service)。然后,你可以对你的对话框实现做任何你想做的事情。例如,您可以显示自己的窗体,该窗体上有一个用于关闭窗体的计时器。