gpt4 book ai didi

android - Delphi Android - 检测设备方向变化

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:55 25 4
gpt4 key购买 nike

Delphi Android 开发的新手。如何检测屏幕方向已更改?即从肖像到风景,反之亦然?发生这种情况时如何触发代码?例如,我有一张图像,假设在纵向模式下为 300x200,但是当设备切换到横向时,我希望它进行调整并占据全屏宽度。

最佳答案

在你的表单中实现一个方法

procedure DoOrientationChanged(const Sender: TObject; const M: TMessage);

你在哪里处理当前方向。像这样订阅 FormCreate 中的方向变化

TMessageManager.DefaultManager.SubscribeToMessage(TOrientationChangedMessage, DoOrientationChanged);

然后像这样在 FormDestroy 中取消订阅:

TMessageManager.DefaultManager.Unsubscribe(TOrientationChangedMessage, DoOrientationChanged);

要找出当前的屏幕方向,只需询问 IFMXScreenService:

var
screenService: IFMXScreenService;
begin
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, screenService) then begin
case screenService.GetScreenOrientation of
TScreenOrientation.Portrait: ;
TScreenOrientation.Landscape: ;
TScreenOrientation.InvertedPortrait: ;
TScreenOrientation.InvertedLandscape: ;
end;
end;
end;

关于android - Delphi Android - 检测设备方向变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32670119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com