Jak zdefiniować przejście między dwiema czynnościami dla Androida 1.5 i nowszych? Chciałbym, aby jakieś działanie zniknęło.
android
android-activity
transition
hpique
źródło
źródło
overridePendingTransition
powiązanych odpowiedzi poniżej: Możesz przekazać,(0, 0)
jeśli nie chcesz żadnej animacji.Odpowiedzi:
Możesz to zrobić za pomocą
Activity.overridePendingTransition()
. Możesz zdefiniować proste animacje przejścia w pliku zasobów XML.źródło
onCreate
funkcji Aktywności .Oto kod umożliwiający płynne przejście między dwiema aktywnościami ..
Utwórz plik o nazwie
fadein.xml
inres/anim
Utwórz plik o nazwie
fadeout.xml
inres/anim
Jeśli chcesz znikną z Aktywny A na aktywność B , należy umieścić następującą informację w
onCreate()
sposób aktywny B . PrzedtemsetContentView()
działa dla mnie.Jeśli przejścia są zbyt wolne, zmień
android:duration
powyższe pliki xml na coś mniejszego.źródło
overridePendingTransition(android.R.anim.fadein, android.R.anim.fadeout);
tych plików może również dać ci wskazówki, jak ulepszyć niestandardowe animacje (np. Dzięki temu, że wyciszanie będzie trwać dłużej niż wygaszanie).fadein
ifadeout
dofade_in
ifade_out
. Z postu Dana JoverridePendingTransition()
zaraz po telefoniefinish()
i / lubstartActivity()
. W ten sposób udało mi się uzyskać ładny zanik, nazywając go zaraz po uruchomieniu nowego działania.Jeszcze łatwym sposobem na to jest:
Otóż to :)
źródło
Tak. Możesz powiedzieć systemowi operacyjnemu, jaki rodzaj przejścia chcesz zastosować w swojej działalności.
Gdzie ANIMACJA jest liczbą całkowitą odnoszącą się do wbudowanej animacji w systemie operacyjnym.
źródło
utwórz res> anim> fadein.xml
utwórz res> anim> fadeout.xml
W res> wartości> styles.xml
W działaniach onCreate ()
źródło
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Aby wyświetlić listę domyślnych animacji, zobacz: http://developer.android.com/reference/android/R.anim.html
Jest w rzeczywistości
fade_in
ifade_out
na poziomie API 1 roku.źródło
Nadpisuję moją domyślną animację aktywności. Testuję go w API 15, aby działał sprawnie. Oto rozwiązanie, którego używam:
Utwórz folder anim w folderze res, a następnie utwórz następujące cztery pliki animacji:
slide_in_right.xml
slide_out_left.xml
slide_in_left.xml
slide_out_right.xml
Możesz pobrać mój przykładowy projekt .
To wszystko... :)
źródło
Oto kod umożliwiający płynne wykonywanie dwóch czynności.
płynny efekt od lewej do prawej
Utwórz plik o nazwie slide_in_right.xml i slide_out_right.xml w res / anim
slide_in_right.xml
slide_out_right.xml
płynny efekt od prawej do lewej
Utwórz plik o nazwie animation_enter.xml i animation_leave.xml w res / anim
animacja_enter.xml
animacja_leave.xml
Nawiguj od jednego działania do drugiego
4. Na wstecz naciśnij zdarzenia lub przejdź z drugiego działania do jednego działania
źródło
overridePendingTransition
natychmiast po starcieActivity: developer.android.com/reference/android/app/…Nie można użyć funkcji overridePendingTransition w systemie Android 1.5. overridePendingTransistion przyszedł do Androida 2.0.
Jeśli przejdziesz przez to bezbłędnie, musisz skompilować dla celu (1.5 lub wyżej) używając zwykłych animacji (lub twoich) lub musisz skompilować dla celu (2.0 lub wyżej) używając overridePendingTransistion.
Podsumowanie: Nie można użyć funkcji overridePendingTransistion w systemie Android 1.5 .
Możesz jednak użyć wbudowanych animacji w systemie operacyjnym.
źródło
W urządzeniach GALAXY:
Musisz upewnić się, że nie wyłączyłeś go w urządzeniu, wybierając Ustawienia> Opcje programisty:
źródło
Użyj ActivityCompat.startActivity () działa API> 21.
źródło
Przed rozpoczęciem zamiaru:
Daje to domyślną animację przejścia aktywności.
źródło
Niektóre wersje Androida obsługują niestandardowe
Activity
przejścia, a niektóre nie (starsze urządzenia). Jeśli chcesz używać niestandardowych przejść, dobrą praktyką jest sprawdzenie, czyActivity
ma tęoverridePendingTransition()
metodę, jak w starszych wersjach nie.Aby wiedzieć, czy metoda istnieje, czy nie, można użyć interfejsu API refleksji. Oto prosty kod, który sprawdzi i zwróci metodę, jeśli istnieje:
Następnie możemy zastosować własne przejście, tj. Użyć tej metody, jeśli istnieje:
Tutaj, jako przykład, zastosowano proste animacje pojawiania się i zanikania do demonstracji przejścia.
źródło
pomniejszyć animację
zoom_enter
zoom_exit
źródło