AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Android BackButton..

Ein Thema von erich.wanker · begonnen am 27. Jul 2017 · letzter Beitrag vom 27. Jul 2017
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
4.175 Beiträge
 
Delphi 12 Athens
 
#1

AW: Android BackButton..

  Alt 27. Jul 2017, 13:56
Ich weis nicht wie du deine Ausrichtung einstellst, womöglich über die System-Events.
Aber du könntest auch die aktuelle Einstellung abfragen:

Delphi-Quellcode:
function IsPortraitOrientation: Boolean;
var
  FScreenService: IFMXScreenService;
begin
  Result := true;
  if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, FScreenService) then
    Result := (FScreenService.GetScreenOrientation = TScreenOrientation.Portrait) or
      (FScreenService.GetScreenOrientation = TScreenOrientation.InvertedPortrait);
end;
Rollo
  Mit Zitat antworten Zitat
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
464 Beiträge
 
Delphi XE4 Professional
 
#2

AW: Android BackButton..

  Alt 27. Jul 2017, 14:01
Hallo Rollo62

ich hab in OnResize folgendes:

login und login2 sind TabSheets mit angepassten Buttons für den Loginbereich - horizontal/vertikal
menu und menu2 sind TabSheets mit angepassten Buttons für das Hauptmenü - horizontal/vertikal

Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
var
  ScreenService: IFMXScreenService;
begin

  if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then
  begin
    if ScreenService.GetScreenOrientation in [TScreenOrientation.soPortrait, TScreenOrientation.soInvertedPortrait] then
    Begin
        if maincontrol.ActiveTab=menu2 then maincontrol.ActiveTab:=menu;
        if maincontrol.ActiveTab=login2 then maincontrol.ActiveTab:=login;
        ausrichtung:='hoch';
    End

  else

     begin
        if maincontrol.ActiveTab=menu then maincontrol.ActiveTab:=menu2;
        if maincontrol.ActiveTab=login then maincontrol.ActiveTab:=login2;
        ausrichtung:='quer';
    end;


  end;

end;
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \

Geändert von erich.wanker (27. Jul 2017 um 14:10 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.175 Beiträge
 
Delphi 12 Athens
 
#3

AW: Android BackButton..

  Alt 27. Jul 2017, 14:11
Man muss sich nicht auf OnResize verlassen, da gab es zumindest bei mir mal Probleme mit.
Auf den mobilen Platformen gibt es die Orientation-Events, die funktionieren bisher sehr gut.

Ist nur etwas lästig die immer zuzuordnen ...

Delphi-Quellcode:
procedure TS4View_Manager.OrientationChange_Subscribe;
begin

  // Register the Message handler
  //Subscribe to orientation change events in OnCreate or similar
  //
  FOrientationChangedId := TMessageManager.DefaultManager.SubscribeToMessage(
           TOrientationChangedMessage,
           EvOnOrientationChanged
         );

end;
Delphi-Quellcode:
procedure TS4View_Manager.EvOnOrientationChanged(const Sender: TObject;
   const Msg: TMessage);
var
  cmd : TS4Api_SysEvents;
  screenService : IFMXScreenService;

begin
  cmd := TS4Api_SysEvents.TApi.None;

  //
  // Evaluate the OrientationChange Event first
  //
  if Msg <> nil then
  begin

    if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService,
                                                         screenService) then
    begin

      case screenService.GetScreenOrientation of
        TScreenOrientation.Portrait : cmd := TS4Api_SysEvents.OrientationChange_Portrait;
        TScreenOrientation.Landscape : cmd := TS4Api_SysEvents.OrientationChange_Landscape;
        TScreenOrientation.InvertedPortrait : cmd := TS4Api_SysEvents.OrientationChange_PortraitInv;
        TScreenOrientation.InvertedLandscape: cmd := TS4Api_SysEvents.OrientationChange_LandscapeInv;
      end;

    end;

    screenService := nil; // Release the ServiceIntf

  end;

   .....

end;
Rollo
  Mit Zitat antworten Zitat
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
464 Beiträge
 
Delphi XE4 Professional
 
#4

AW: Android BackButton..

  Alt 27. Jul 2017, 14:38
super .. DANKE

Werde ich mir anschauen

LiGrü
Erich
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz