2014-12-07 14 views
31

każdym razem, kiedy szukać natknąłem się na ten "android przejścia 5 (L) Aktywność dostępny tylko na API >= 21.android 5 aktywność przejście na niższy api

to w porządku, ale widzę pewne app jak QuickPic i google inbox które wykorzystują podobny przejście i również pracuje na niższym API, tak jak ta aplikacja może zrobić coś takiego?

co mam zrobić?

1) dużo poszukiwań :)

2) gra z ActivityOptionsCompat że stosuje się tylko do API> = 21, tak:

ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, transitionView, DATA.EXTRA_PASSED_JSON); 
Intent intent = new Intent(activity, PhotoViewerActivity.class); 
intent.putExtra(DATA.EXTRA_PASSED_JSON, json); 
ActivityCompat.startActivity(activity, intent, options.toBundle()); 

EDIT (pytanie oznaczone jako duplikat): to różni się od innych kwestii, w tym przypadku, bo powiedział, że nie jest inna aplikacja, która robi to przejście w niższym api i chcę wiedzieć, jak to robią.

+0

@ alex-lockwood w przyszłości, gdy zdecydujesz się zamknąć bilet pojedynczo, aby duplikat, proszę link do duplikatu postu. – edthethird

Odpowiedz

37

Dodaliśmy wiele rzeczy w Lollipop, aby Transition Activity działał dobrze. Możliwe jest ręczne wykonywanie operacji przenoszenia (we wcześniejszych wersjach), ale w niektórych przypadkach wystąpią problemy, a przejście powrotne prawdopodobnie będzie działać tylko w najprostszym przypadku. Chet Haase ma devBryt na tym here.

Animacje między fragmentami były możliwe wcześniej, chociaż interfejs API nie jest tak łatwy w użyciu, jak w Fragmentach przejścia Lollipopa.

Myśleliśmy dużo o przeniesieniu przejść do wcześniejszych wersji w bibliotece pomocy. Może nadal się zdarzyć. Jeśli tak, powinniśmy również być w stanie zrobić coś dla Fragment Transitions.

+15

w najnowszej aktualizacji do aplikacji Gmail, widzimy, że makeSceneTransitionAnimation jest również możliwa w urządzeniach pre-Lollipop. Czy możesz mi powiedzieć, jak możemy to osiągnąć? – user2056563

+8

dobre wieści foks zdarza się, że dodali je w wersji 4 wsparcia lib spójrz na https://developer.android.com/reference/android/support/transition/package-summary.html – Ajinkya

20

Jak sama mówisz, biblioteka pomocy nie obsługuje (wszystkich) przejść w wersjach systemu Android poniżej wersji 5.0. Istnieją jednak pewne alternatywy:

Nieoficjalne biblioteki kompatybilności
https://github.com/andkulikov/transitions-everywhere
https://github.com/takahirom/PreLollipopTransition
https://github.com/lgvalle/Material-Animations

Android KitKat
http://www.doubleencore.com/2013/11/new-transitions-framework/ i próbka znajduje się w folderze samples SDK.

+0

tnx, myślę, że mogę to zrobić. – mehdok

+0

z połączoną biblioteką mogę używać przejścia między widokiem 2 w dolnym interfejsie API, ale nie mogę wymyślić, jak zastosować przejście między 2 "aktywnością", czy możesz mi wskazać? – mehdok

+3

Możesz załadować widok z drugiego działania, a następnie wykonać zamiar bez animacji. Oczywiście, jest to trudniejsze, gdy następna aktywność ma inną treść. – Mdlc

Powiązane problemy