2011-09-29 13 views

Odpowiedz

22

Tak, jest to możliwe. check out this question. Trzeba zdefiniować animacje w folderze anim niż można overide aktualny animację używając

overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up); 
1

Dostajesz bok animacji w zasadzie za darmo przy przechodzeniu do innej działalności. Czy to wystarczy?

+0

Jak powinienem to zrobić? –

+1

Nie ... Android robi to za Ciebie. –

+0

ale nigdy nie widziałem bocznego przełączania się między działaniami, powiedz mi, czego mi brakuje –

8

można ustawić animację, gdy idziesz do innej aktywności za pomocą tego

overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 

Ponadto można dostać taką samą animację if wrócisz z ostatniej aktywności do dotychczasowej działalności poprzez nadpisanie metody

@Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
     overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 

    } 
+1

Właściwie musisz przełączyć dwie linie. Call overridePendingTransition after super.onBackPressed() – Randalfien

+0

@Randalfien Zrobione. Dzięki – Dharmendra

+0

Zastanawiam się, dlaczego powinny one najpierw "super" być wywołane i "przesłonić" tylko po? Od pierwszego spojrzenia wydaje się bardziej logiczne pierwsze przejście "override", a następnie faktyczne wywołanie zmiany, czyż nie? –

0

można zastąpić funkcję public boolean onOptionsItemSelected(MenuItem item) i U se finish(), po którym następuje overridePendingTransition().
Na przykład, dodaj poniższy kod w swojej działalności:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: // navigation up. 
     finish(); 
     overridePendingTransition(R.anim.ENTER_ANIMATION, R.anim.EXIT_ANIMATION); 
     return true; 
    case ....: // implementation of other menu items. 
    } 
    return super.onOptionsItemSelected(item); 
} 

Innym sposobem jest nadpisanie funkcji public boolean onNavigateUp(). Ale onNavigateUp() jest tylko dla poziomu interfejsu API 16 i nowszych.

Powiązane problemy