Android: LinearLayout addView Animation

8

Ich habe derzeit ein funktionierendes Android-Programm, das programmatisch Ansichten zu einem LinearLayout hinzufügt. Ich möchte, dass diese Ansichten animiert werden und keine guten Ressourcen finden, um herauszufinden, wie das geht.

Könnte mir jemand in die richtige Richtung zeigen?

    
postalservice14 03.12.2009, 19:14
quelle

4 Antworten

7

Es ist eine sehr alte Frage, aber immer noch interessant: Sie können das Attribut android:animateLayoutChanges="true"

verwenden

Zum Beispiel:

%Vor%     
Francesco Pez 10.07.2014 14:15
quelle
4

Dies kann mit der API für Szenen und Übergänge erfolgen.

Framework gibt uns drei Transition -Typen, die nicht im Lieferumfang enthalten sind: Fade , Slide und Explode , aber Sie Sie können auch Ihren benutzerdefinierten Übergangstyp erstellen, indem Sie die Visibility Klasse erweitern und geeignete Methoden überschreiben.

Wenn Sie also ViewGroup haben, können wir Folgendes tun:

%Vor%

Wo meine_transition.xml folgt:

%Vor%

Wir werden dieses Ergebnis erhalten:

Beachten Sie, dass wir TransitionManager.beginDelayedTransition() bevor irgendeine Änderung am Layout vorgenommen wurde (dh bevor addView() aufgerufen wird). Dann kümmert sich Framework um den Rest.

Es gibt noch eine weitere Überladung TransitionManager.beginDelayedTransition(ViewGroup) , wo Sie nicht angeben müssen, welcher genaue Übergang angewendet werden soll, und das System führt AutoTransition aus. Animation, die im Grunde die Grenzen der animierten Ansicht verblassen und verändern wird.

Aktualisieren Zusammenfassung aus der Konversation in Kommentaren

Framework TransitionManager ist über API 19 verfügbar und wird vollständig von API 21 unterstützt ( indem ich vollständig sage, meine ich zB Slide Übergang ist von API 21 verfügbar). Es ist zwar ein Supportpaket verfügbar , es werden jedoch nicht alle Funktionen rückportiert . Alternativ können Sie auch in die Bibliothek TransitionsEverywhere wechseln, die alles auf Android 4.0 zurückführt.

    
azizbekian 26.04.2017 08:57
quelle
1

Versuchen Sie

1. Ansicht zum linearen Layout hinzufügen

%Vor%

2. Fügen Sie slide_up.xml zu res/anim Ordner

hinzu %Vor%

3. Animation direkt nach dem Hinzufügen der Ansicht anwenden

%Vor%

Wenn Sie die Ansichten einzeln animieren möchten, verwenden Sie die folgenden Zeilen

%Vor%     
Pehlaj 28.04.2017 04:45
quelle
-2

Sie können ViewFlipper verwenden und Animationen von dort einstellen. Sie können sich dieses Tutorial ansehen . Viel Glück.

    
Nam Ngo 31.10.2010 08:40
quelle