首先,我在Android和FireMonkey编程方面是个初学者,请谅解。
我制作了一个FireMonkey/Android应用程序,可以根据屏幕大小和方向调整其控件的大小/重新排列,但我无法弄清楚如何设置我的应用程序,在用户旋转屏幕时被调用。如果我在Firemonkey/Win32中运行并显示一个按钮,执行以下操作:
PROCEDURE TMainForm.FlipForm;
VAR
W,H : INTEGER;
BEGIN
W:=Width; H:=Height; Width:=H; Height:=W
END;
首先,我需要捕获FormResize事件,这样我的窗体就可以按照预期进行调整。现在我想在Android上运行时也能做到同样的效果,但是当屏幕旋转时,似乎FormResize事件不会被调用,所以我的按钮等控件没有重新排列并且可能会超出屏幕范围。
因此,我的问题是,如何检测屏幕是否旋转,以便我的应用程序可以在横向和纵向模式下正常工作?
C:\Users\Public\Documents\RAD Studio\12.0\Samples\FireMonkeyMobile\Delphi\Forms
目录下有一个演示如何适应屏幕旋转的示例。 - Ken White