在使用 Delphi 构建的 Firemonkey Android 应用程序中切换屏幕的正确方法是什么?
What is the proper way of switching between screens in Firemonkey Android app built with Delphi?
我正在使用 Firemonkey 在 Delphi 10.3 中构建 Android 应用程序,我需要该应用程序具有 2 个不同的屏幕 - 登录和主屏幕。我如何将它们正确地组织到 Forms、Frames 或其他方式中?这样登录屏幕就被主应用屏幕所取代。
到目前为止,我已经创建了两个表单并尝试通过以下方式切换它们:
Form1.Hide;
Form2.Show;
但这根本不起作用,应用程序自行关闭。
作为解决方法,我尝试将 Form2 嵌入到 Form1 中。这行得通,但我怀疑这不是正确的方法:
Form1.GroupBox1.Visible := False; // all elements reside on GroupBox1
Form2.Parent := Form1;
Form2.Show;
因此问题 - 如何在 Delphi Firemonkey Android 应用程序中正确设置和切换屏幕?
P.S。我是 Android 开发的新手,正在寻找解决此案例的 Delphi 方法。
类似问题:
Show login form before main form(暗示应该使用表格,缺少实际代码)
以下代码(运行 成功登录)从逻辑的角度看是正确的,似乎也运行良好:
// Create only Form1 on app creation
// Create Form2 on successfull login
Application.CreateForm(TForm2, Form2);
Form2.Show;
Application.MainForm := Form2;
Form1.Close;
Form1.Free;
Form1 := nil;
如果有 better/proper 方法可以做到这一点,我也很想看到它们。
我使用带有 TTabControl 的单一表单(不显示选项卡),创建以 TTabControl 中的选项卡为父级的框架,并在选项卡之间切换以显示不同的框架。
这样做的一个优点是能够进行过渡,但是有一个缺点可能会让某些人反感:无法在帧上编辑自定义样式。
我正在使用 Firemonkey 在 Delphi 10.3 中构建 Android 应用程序,我需要该应用程序具有 2 个不同的屏幕 - 登录和主屏幕。我如何将它们正确地组织到 Forms、Frames 或其他方式中?这样登录屏幕就被主应用屏幕所取代。
到目前为止,我已经创建了两个表单并尝试通过以下方式切换它们:
Form1.Hide;
Form2.Show;
但这根本不起作用,应用程序自行关闭。
作为解决方法,我尝试将 Form2 嵌入到 Form1 中。这行得通,但我怀疑这不是正确的方法:
Form1.GroupBox1.Visible := False; // all elements reside on GroupBox1
Form2.Parent := Form1;
Form2.Show;
因此问题 - 如何在 Delphi Firemonkey Android 应用程序中正确设置和切换屏幕?
P.S。我是 Android 开发的新手,正在寻找解决此案例的 Delphi 方法。
类似问题:
Show login form before main form(暗示应该使用表格,缺少实际代码)
以下代码(运行 成功登录)从逻辑的角度看是正确的,似乎也运行良好:
// Create only Form1 on app creation
// Create Form2 on successfull login
Application.CreateForm(TForm2, Form2);
Form2.Show;
Application.MainForm := Form2;
Form1.Close;
Form1.Free;
Form1 := nil;
如果有 better/proper 方法可以做到这一点,我也很想看到它们。
我使用带有 TTabControl 的单一表单(不显示选项卡),创建以 TTabControl 中的选项卡为父级的框架,并在选项卡之间切换以显示不同的框架。
这样做的一个优点是能够进行过渡,但是有一个缺点可能会让某些人反感:无法在帧上编辑自定义样式。