2014-06-26 9 views
10

Come implementare Android 5, Lollipop, Activity Transitions utilizzando i frammenti?Android Google IO 2014: come implementare la transizione delle attività con i frammenti?

+2

Al momento, almeno in termini di supporto del framework ufficiale. Nella presentazione Google I | O di "Material Science" di oggi, Chet Haase e Adam Powell hanno indicato che si sta lavorando sull'estensione delle nuove transizioni di attività a frammenti. Fondamentalmente, hanno affrontato prima il problema più difficile (attività). L'estensione ai frammenti sarà effettuata dalla versione L, e non è stato possibile dire se qualcosa potrebbe essere disponibile tramite un canale di anteprima in precedenza. – CommonsWare

+0

@CommonsWare, ora Lollipop è là fuori - ci sono novità su questa funzione? Non riesco a trovare nulla –

+0

@ MichałK: Scusa, non sono andato a cercarlo. – CommonsWare

risposta

9

L'API è molto simile alle Transizioni di attività, sebbene in qualche modo limitata a causa della differenza tra l'avvio di un'attività e una transazione di frammento.

Qui ci sono le basi:

  1. utilizzare una stringa comune quando si definisce android:transitionName o View.setTransitionName sui punti di vista che si intende condividere tra i frammenti
  2. Quando si crea una transazione frammento, chiamare: FragmentTransaction.addSharedElement(View sharedElement, String name) con la vista intenzione di condividere (e il suo nome di transizione).
  3. Specificare il Transition che si desidera essere eseguito sul frammento via: Fragment.setSharedElementEnterTransition(Transition transition)
  4. Se si desidera eseguire più transizioni, utilizzare un TransitionSet per aggregare loro.
+2

devo abilitare la transizione nel Tema attività? Ho provato questa soluzione ma non sembra funzionare, potrebbe essere perché sto cercando di animare una vista all'interno di un frammento annidato? –

+2

Ho anche attivato la transizione nel Tema attività ma l'animazione non è visibile. Hai un esempio funzionante da condividere? –

+0

ho applicato la transizione tra fragmentUn elenco di oggetti che contiene e FramgmentB è dettagli ora se la lista ha un singolo elemento la mia transizione funziona bene ma ha più elementi nell'elenco non funziona –

Problemi correlati