
我已经制作了一个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检测/处理屏幕旋转所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)