1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

activity drehen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von moodsx, 13.12.2011.

  1. moodsx, 13.12.2011 #1
    moodsx

    moodsx Threadstarter Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    0
    Registriert seit:
    13.12.2011
    Hallo Leute, ich hätte gern gewusst wie ich die aktuelle Ansicht der laufenden activity beibehalte wenn das Telefon gedreht wird. Normal ist es ja so das meine app neu geladen wird, wenn man die Ansicht ändert (Telefon drehen). Ein drehen der app verhindern möchte ich nicht, die sollte sich automatisch der Haltung anpassen aber auch die aktuelle Darstellung beibehalten und nicht neuladen. Gibt es hierzu eine Möglichkeit? Danke für Eure Hilfe. Mit freundlichen Grüßen Sven
     
  2. DieGoldeneMitte, 13.12.2011 #2
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
  3. swordi, 13.12.2011 #3
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    die aktuelle richtung beibehalten wird über das manifest nicht gehen.

    da musst schon im code fix setzen dann.

    in der oncreate methode dann einfach die orientation setzen.

    aber das ganze ist nicht grade benutzerfreundlich, das ist dir klar ?
     
  4. moodsx, 13.12.2011 #4
    moodsx

    moodsx Threadstarter Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    0
    Registriert seit:
    13.12.2011
    So wie beschrieben möchte ich die app ja drehen. Leider ist per default das so eingestellt das die app neu geladen wird. Ich möchte einfach nur den reload verhindern so das die aktuelle Ausgabe auch nach einem rotate angezeigt wird.

    DieGoldeneMitte@Leider sehe ich aber die Möglichkeit per Manifest nicht. Könntest Du da genau drauf eingehen mit welcher config das funktionieren soll?
     
  5. swordi, 13.12.2011 #5
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    wenn du android:configChanges="orientationChange" (oder so ähnlich)

    schreibst, dann müsstest du dich selbst um den Change kümmern und Android startet die Activity nicht mehr neu.

    Besser ist es aber einfach beim Drehen über
    onSaveInstanceState und onRestoreInstanceState

    den Status der Activity zu speichern und zu laden und dann die Layouts entsprechend anzupassen. Ist zwar ein wenig mehr Aufwand, lohnt sich aber.
     
  6. moodsx, 13.12.2011 #6
    moodsx

    moodsx Threadstarter Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    0
    Registriert seit:
    13.12.2011
    Auszug aus AndroidManifest.xml:

    Code:
    <activity
                android:configChanges="orientation|screenSize"
    </activity>
    

    Das gute daran ist das es bei meiner app keinen Effekt gibt. Die app dreht sich nach wie vor und wird neu geladen. Wo kann hier das Problem sein?
     
  7. swordi, 13.12.2011 #7
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    dann überschreib noch die onConfigurationChanged methode deiner activity
     
  8. DieGoldeneMitte, 14.12.2011 #8
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Hast du das Attribut bei der Activity eingetragen, die du selber drehen willst? Frag nur mal so :D
     
  9. moodsx, 14.12.2011 #9
    moodsx

    moodsx Threadstarter Neuer Benutzer

    Beiträge:
    13
    Erhaltene Danke:
    0
    Registriert seit:
    13.12.2011
    Habs gelöst bekommen, hatte wohl ein Fehler bei:

    Code:
    android:minSdkVersion="4"
    
    Jetzt funktioniert es mit:

    Code:
    android:configChanges="orientation|keyboardHidden"
    
    einwandfrei. Die app dreht sich normal ohne einen reload.

    Danke für Eure Hilfe.
     

Diese Seite empfehlen