Ich beginne eine Aktivität und hätte lieber ein Alpha-Einblenden für startActivity()
und ein Ausblenden für das finish()
. Wie kann ich im Android SDK vorgehen?
android
animation
fade
transition
coneybeare
quelle
quelle
Antworten:
Führen Sie in derselben Anweisung, in der Sie finish () ausführen, auch dort Ihre Animation aus. Führen Sie dann in der neuen Aktivität eine weitere Animation aus. Siehe diesen Code:
fadein.xml
In deiner Zielklasse
fadeout.xml
In Ihrer neuen Aktivitätsklasse erstellen Sie eine ähnliche Methode wie die von mir geschriebene runFadeAnimation und führen sie dann in onCreate aus. Vergessen Sie nicht, die Ressourcen-ID in Ausblenden zu ändern.
quelle
android:duration="@android:integer/config_shortAnimTime"
runFadeAnimation()
Ab API-Ebene 5 können Sie overridePendingTransition sofort aufrufen, um eine explizite Übergangsanimation anzugeben:
oder
quelle
Siehe Themen auf Android: http://developer.android.com/guide/topics/ui/themes.html .
Unter Themes.xml sollte sich
android:windowAnimationStyle
dort befinden, wo Sie die Deklaration des Stils in styles.xml sehen können .Beispielimplementierung:
quelle
@android:anim/fade_in
vom Java-Code aus zugreifen ?Verwenden
overridePendingTransition
fadein.xml
fadeout.xml
quelle
Wenn Sie immer dieselbe Übergangsanimation für die Aktivität verwenden möchten
quelle
Fügen Sie dies für fadeIn und fadeOut erst nach super.onCreate (savedInstanceState) in Ihrer neuen Activity-Klasse hinzu. Sie müssen nichts anderes erstellen (kein XML, kein Animationsordner, keine zusätzliche Funktion).
quelle
Sie können einfach einen Kontext erstellen und Folgendes tun: -
Und deine Animation: -
Sie können jede gewünschte Animation verwenden.
quelle
quelle
Ich wollte die Lösung styles.xml verwenden, aber sie funktionierte bei Aktivitäten nicht. Es stellt sich heraus, dass ich anstelle von
android:windowEnterAnimation
undandroid:windowExitAnimation
die Aktivitätsanimationen wie folgt verwenden muss:quelle