Animation beim Öffnen einer Activity

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Animation beim Öffnen einer Activity

    Hallo,

    ich habe mehrere Activities in einer Android App erstellt, wobei eine dieser Activies beim Öffnen eine andere Animation anzeigt als die Übrigen. Ist die folgende Animation in der Android-Library bereits vordefiniert und wie kann ich diese auch für die anderen Activities benutzen?

  • Anscheinend ändert sich die Animation der Activity, wenn die SplashScreen-Activity für eine längere Zeit angezeigt wird. Dann wird beim Starten der nächsten Activity nicht mehr diese Fade-Animation angezeigt, sondern die nächste Activity bewegt sich nach oben, wie es typisch ist. Eine genaue Erklärung dafür habe ich nicht, aber vielleicht kann mir jemand dabei helfen.
  • Was für einen Quellcode brauchst du denn genau? Ich habe eine SplashScreen-Activity, die als Launcher-Activity festgelegt ist. In dieser wird dann geprüft, ob der Benutzer angemeldet ist. Sollte er nicht angemeldet sein, wird die Login-Activity geöffnet. Anderenfalls werden die Daten vom Server geladen und eine andere Activity wird geöffnet, in der diese Daten angezeigt werden.

    Die Login-Activity wird jedoch mit der oben dargestellten Animation geöffnet, während die andere Activity mit der typischen Animation geöffnet wird, dass die Activity sich nach oben bewegt. Deshalb führe ich es darauf zurück, dass ich vor dem Öffnen der Activity mit OkHttp noch eine HTTP-Verbindung aufbaue, um die Daten vom Server zu laden. Die Login-Activity wird in kürzerer Zeit geöffnet und zeigt deshalb vermutlich eine andere Animation.

    Weißt du vielleicht, wie diese Animation heißt (siehe oben) bzw. wie ich diese Animation auch für die andere Activity nach dem SplashScreen benutzen kann.

    Vielleicht hilft es:

    Quellcode

    1. authManager.verifySession(available -> {
    2. subjectManager = new SubjectManager(httpClient);
    3. if (!available) {
    4. Intent intent = new Intent(this, LoginActivity.class);
    5. startActivity(intent);
    6. finish();
    7. return;
    8. }
    9. subjectManager.loadSubjects(() -> {
    10. Intent intent = new Intent(this, MainActivity.class);
    11. startActivity(intent);
    12. finish();
    13. });
    Alles anzeigen
    Es gibt jeweils eine andere Animation.

    Wenn ich vor dem Öffnen der Login-Activity z.B. noch ein Thread.sleep(8000) hinzufügen, ist die gewünschte Animation von oben auch nicht mehr vorhanden, sondern es wird die gleiche Animation gezeigt wie bei der MainActivity.
  • das wird wohl gar keine Animation sein. Nur der lade Vorgang wird wohl etwas lange dauern.
    Ich sehe da eigentlich?ich keine Animation.
    Der lade Vorgang ist im er etwas unterschiedlich kommt auch auf den Inhalt und die komplexität des layout an.
    Da wird wohl nur die klassische Überblendung etwas langsamer laufen.

    Wenn du eine Animation haben willst musst du dir auch eine erstellen.
    Ein Feedback auf Tipps ist auch schön. :P