2011-09-29 15 views
15

Non ho lavorato così su animazione in Android. voglio l'animazione passando da un'attività all'altra in Android. Voglio l'animazione che commuta l'attività dal basso verso l'alto come slider.Animazione mentre si cambia attività in Android?

è possibile?

Grazie in anticipo

risposta

22

Sì, è possibile. check out this question. È necessario definire le animazioni nella cartella anim di quanto si può overide animazione corrente utilizzando

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

Si ottiene un'animazione lateralmente essenzialmente per libero quando si passa ad un'altra attività. Sarà sufficiente?

+0

Come devo fare? –

+1

Non lo fai ... Android lo fa per te. –

+0

ma non ho mai visto passaggi laterali tra le attività, dimmi cosa mi manca –

8

È possibile impostare l'animazione quando si va a un'altra attività utilizzando questo

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

Inoltre è possibile ottenere stessa animazione se si torna da ultima attività all'attività precedente ridefinendo il metodo

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

    } 
+1

devi cambiare le due linee. Chiama overridePendingTransition dopo super.onBackPressed() – Randalfien

+0

@Randalfien Fatto. Grazie – Dharmendra

+0

Mi chiedo perché prima dovrebbero essere chiamati 'super' e' override' solo dopo? A prima vista sembra più logico passare prima alla transizione "override" e quindi attivare effettivamente il cambiamento, non è vero? –

0

È possibile ignorare la funzione public boolean onOptionsItemSelected(MenuItem item), eu se finish() seguito da overridePendingTransition().
Ad esempio, aggiungere il seguente codice nella vostra attività:

@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); 
} 

L'altro modo sovrascrive la funzione public boolean onNavigateUp(). Ma onNavigateUp() è solo per livello API 16 e superiori.

Problemi correlati