9

In vista della normale transizione Lollipop di Attività con elementi condivisi, ad es. https://github.com/codepath/android_guides/wiki/Shared-Element-Activity-Transition, è abbastanza comune passare da una vista da una vista Recycler a una normale visualizzazione di un'attività mirata.Transizione elemento condiviso in una vista in RecyclerView, possibile?

Tuttavia, nel caso della vista di destinazione, è anche in un viewholder di un recyclerView, c'è un modo per rendere ciò possibile (cioè fornire la vista mirata a ActivityOptionsCompat)?

Grazie!

+0

Le risultanze? Mi chiedo lo stesso – Sunkas

risposta

0

Secondo la mia indagine questo non è possibile. Prima che una transizione di elemento condiviso possa creare la sua animazione, deve prima catturare lo stato di inizio e di fine di ogni elemento condiviso, ovvero la sua posizione, dimensione e aspetto sia nel richiamo che nelle chiamate Attività/Frammenti. Con queste informazioni, la transizione può determinare in che modo ogni vista di elementi condivisa deve animarsi. (Via http://www.androiddesignpatterns.com/2015/01/activity-fragment-shared-element-transitions-in-depth-part3a.html)

documentazione ufficiale dichiara limitazioni:

classi che estendono AdapterView, come ListView, gestire il loro parere bambino in modi che sono incompatibili con il quadro transizioni. Se si tenta di animare una vista basata su AdapterView, la visualizzazione del dispositivo potrebbe bloccarsi.

http://developer.android.com/training/transitions/overview.html#Limitations

4

E 'assolutamente possibile. Non fare questo è necessario seguire i seguenti passi:

  1. rinviare la transizione nella vostra attività bersaglio con supportPostponeEnterTransition().
  2. Impostare l'adattatore su RecyclerView.
  3. Avvia la transizione posticipata dopo che RecyclerView ha disegnato gli articoli.

Fase 3 di solito funziona con questo:

recyclerview.post(new Runnable() { 
      @Override 
      public void run() { 
       supportStartPostponedEnterTransition(); 
      } 
     }); 
Problemi correlati