2

Ich habe rundherum gesucht, aber ich kann keine Antwort finden, die hilft, dieses spezielle Problem zu lösen. Meine Anwendung hat eine eigene Dia-in-Effekt Slide-out wie folgt verwendet:BottomNavigation von Transition-Animationen in Android ausschließen

Intent intent = new Intent(getApplicationContext(), MyActivity.class); 
startActivity(intent); 
overridePendingTransition(R.anim.slide_right_in, R.anim.slide_right_out); 

Das Problem

Das Problem ist, ich habe ein BottomNavigation in allen Aktivitäten enthalten, und ich will es nicht Um animiert zu werden, möchte ich es ausschließen.

enter image description here

Was ich versuche

ich erreichen möchte die Bottom Navigation aus der Animation auszuschließen. Oder wie kann ich den Inhalt nur zwischen Übergängen animieren?

enter image description here

EDIT: Ich habe bereits versucht, mit Gemeinschafts Element zu tun, aber ich wollte es unter API 21.

+0

Vielleicht machen Sie einen geteilten Element Übergang damit? Hat das geholfen? http://stackoverflow.com/questions/27658577/how-can-i-exclude-actionbar-when-transitions-between-activities-on-android-5-0 –

+0

Es tut mir leid, ich habe vergessen, ich auch wollte Es funktioniert unter API 21. Zumindest in API 17. –

+0

@ChristophMayr Da ich Animationen mit overridePendingTransition verwende, wie kann ich die Methode 'excludeTarget (findViewById (bottomNavId), true);'? –

Antwort

2

Es ist nicht möglich auszuschließen Komponenten Form overridePendingTransition() API arbeiten. Stattdessen müssen Sie zu Transitions API wechseln. Insbesondere ist dies Slide Transitionsanimation, bei der Sie Ihre untere Navigationsansicht ausschließen.

Transition slide = new Slide(Gravity.RIGHT); 
slide.excludeTarget(bottomNavigationView, true); 
getWindow().setEnterTransition(slide); 

Siehe detaillierte Implementierung here.

Sie können sehen, support transition package, die Transitions API-Funktionalität bis API 14 zurückportiert. Aber ich konnte Slide Übergang in der Klassenliste nicht finden. Andernfalls können Sie TransitionEverywhere verwenden.

Verwandte Themen