Delphi Firemonkey 中的模态弹出窗口 Android
Modal Popups in Delphi Firemonkey on Android
我正在开发一个 Android 应用程序,但我需要一个弹出窗口,我可以在代码中调用它来创建模态弹出窗口,因此在代码中设置一个变量。
我尝试将它分布在不同的函数中,并且它起作用了,但是当从一个函数跳到另一个函数时,遵循代码变得非常糟糕......
我想做的和功能MessageDlg()
一样,但是在Android上没有实现。
我试过 MessageDlg()
和匿名函数,但在我按下按钮之前它也会运行下面的代码。
我需要类似的东西,但是在 Android 上,if 语句将在我输入之前执行。
MyInt: Integer;
begin
MessageDlg('You want to Continue?', System.UITypes.TMsgDlgType.mtInformation,
[System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
procedure(const AResult: TModalResult) begin
case AResult of
mrYes:
MyInt := 0;
mrNo:
MyInt := 1;
end;
end);
if MyInt = 0 then
//Do Something
else
//Do Something
end;
我需要它来做 "Click a button to Continue event"
您必须将您的逻辑移动到匿名方法中。这将在用户单击适当的按钮后执行。在这种情况下,您也不需要 MyInt
变量。
begin
MessageDlg('You want to Continue?', System.UITypes.TMsgDlgType.mtInformation,
[System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
procedure(const AResult: TModalResult) begin
case AResult of
mrYes:
begin
//Do Something (MyInt = 0 branch)
end;
mrNo:
begin
//Do Something (MyInt = 1 branch)
end;
end;
end);
end;
我正在开发一个 Android 应用程序,但我需要一个弹出窗口,我可以在代码中调用它来创建模态弹出窗口,因此在代码中设置一个变量。 我尝试将它分布在不同的函数中,并且它起作用了,但是当从一个函数跳到另一个函数时,遵循代码变得非常糟糕......
我想做的和功能MessageDlg()
一样,但是在Android上没有实现。
我试过 MessageDlg()
和匿名函数,但在我按下按钮之前它也会运行下面的代码。
我需要类似的东西,但是在 Android 上,if 语句将在我输入之前执行。
MyInt: Integer;
begin
MessageDlg('You want to Continue?', System.UITypes.TMsgDlgType.mtInformation,
[System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
procedure(const AResult: TModalResult) begin
case AResult of
mrYes:
MyInt := 0;
mrNo:
MyInt := 1;
end;
end);
if MyInt = 0 then
//Do Something
else
//Do Something
end;
我需要它来做 "Click a button to Continue event"
您必须将您的逻辑移动到匿名方法中。这将在用户单击适当的按钮后执行。在这种情况下,您也不需要 MyInt
变量。
begin
MessageDlg('You want to Continue?', System.UITypes.TMsgDlgType.mtInformation,
[System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
procedure(const AResult: TModalResult) begin
case AResult of
mrYes:
begin
//Do Something (MyInt = 0 branch)
end;
mrNo:
begin
//Do Something (MyInt = 1 branch)
end;
end;
end);
end;