Ik kan op deze manier afvragen hoe de stand is als de App start.
Code:
begin
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then
begin
if ScreenService.GetScreenOrientation in [TScreenOrientation.soPortrait] then ShowMessage('Portrait');
if ScreenService.GetScreenOrientation in [TScreenOrientation.soInvertedPortrait] then ShowMessage('Inverted Portrait');
if ScreenService.GetScreenOrientation in [TScreenOrientation.soLandscape] then ShowMessage('Landscape');
if ScreenService.GetScreenOrientation in [TScreenOrientation.soInvertedLandscape] then ShowMessage('Inverted Landscape');
end;
In geval van Portrait of InvertedPortrait kan ik deze weergave zelf wijzigen met:
Code:
if ScreenService.GetScreenOrientation in [TScreenOrientation.soInvertedPortrait] then Application.FormFactor.Orientations := [TScreenOrientation.Landscape];
of
... Application.FormFactor.Orientations := [TScreenOrientation.InvertedLandscape];
Dat is geen probleem, maar het gaat over een telefoon en die heb je in de hand dus de stand kan zo weer wijzigen en dan werkt de code van het afvragen niet meer.
Ook niet als je deze code regelmatig doorloopt omdat de weergave dan vast staat in bijvoorbeeld Landscape.
Daarom wil ik graag de "sensor" uitlezen.
Bookmarks