android – 如何使用FireMonkey为Delphi XE5检测处理屏幕旋转

android – 如何使用FireMonkey为Delphi XE5检测处理屏幕旋转,第1张

概述首先 – 我是 Android和FireMonkey编程的初学者,所以请记住这一点:-). 我已经制作了一个FireMonkey / Android应用程序,可以根据屏幕大小和方向调整其控件的大小/重排,但是当用户旋转屏幕时,我无法弄清楚如何设置我的应用程序.如果我在其中运行Firemonkey / Win32并显示执行以下 *** 作的按钮: PROCEDURE TMainForm.FlipForm; 首先 – 我是 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事件,因此我的按钮等不会重排并最终在屏幕外.

所以我的问题是,如何检测屏幕已旋转,以便我可以让我的应用程序在横向和纵向模式下工作?

解决方法 如果您无法使表单的OnResize事件起作用,那么您可以订阅FMX方向更改消息,从而:

uses  FMX.Forms,FMX.Messages,FMX.Types;//In the deFinition of TFooForm you define:FOrIEntationChangedID: Integer;procedure OrIEntationChangedHandler(const Sender: TObject; const Msg: TMessage);//Subscribe to orIEntation change events in OnCreate or similarFOrIEntationChangedID := TMessageManager.DefaultManager.SubscribetoMessage(  TOrIEntationChangedMessage,OrIEntationChangedHandler);//Unsubscribe from orIEntation change events in OnDestroy or similarTMessageManager.DefaultManager.Unsubscribe(  TOrIEntationChangedMessage,FOrIEntationChangedID);procedure TFooForm.OrIEntationChangedHandler(const Sender: TObject; const Msg: TMessage);begin  Log.d('OrIEntation has changed');end;
总结

以上是内存溢出为你收集整理的android – 如何使用FireMonkey为Delphi XE5检测/处理屏幕旋转全部内容,希望文章能够帮你解决android – 如何使用FireMonkey为Delphi XE5检测/处理屏幕旋转所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1123320.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存