android - 在使用 Delphi 构建的 Firemonkey Android 应用程序中切换屏幕的正确方法是什么?

标签 android delphi firemonkey

我正在使用 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 应用程序中正确设置和切换屏幕?

附言我是 Android 开发的新手,正在寻找解决这种情况的 Delphi 方式。

类似问题:

Show login form before main form (暗示应该使用 Forms,缺少实际代码)

最佳答案

以下代码(在成功登录时运行)从逻辑的角度来看是正确的,而且似乎也能正常工作:

// 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;

如果有更好/正确的方法来做到这一点,我也很想看到它们。

关于android - 在使用 Delphi 构建的 Firemonkey Android 应用程序中切换屏幕的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53554417/

相关文章:

Android 完成按钮 Action onclick

android - Xamarin Android 应用程序图标具有启动器 Activity 的名称

Android:带有冰淇淋的奇怪按钮布局

ios - Firemonkey iOS TExpanderButton onclick

android - 如何在 firemonkey 中获取 Android 5 上的 IMEI?

ios - 添加 XSuperObject 时项目无法在 iOS 中启动

android - AndEngine GLES2 - 如何使用调用 IUpdateHandler 的实体?

delphi - 使用Delphi XE7和Indy类创建亚马逊MWS签名

c# - 从 C# 调用 Delphi DLL 函数

delphi - QT 与 Delphi 和 Align 的可能性