2014-09-30 12 views
8

C'è una griglia con alcuni elementi. Quando un utente preme un oggetto apro un nuovo frammento con i dettagli di quell'elemento. Mi piacerebbe animare quella transizione per assomigliare all'elemento che è stato espanso per riempire l'intero schermo.Android gridview expand element animation

enter image description here

Os tale effetto è fatto?

PS. Ho visto qualcosa di simile nell'app Android YPlan. Ecco un video dell'effetto: http://youtu.be/oGd7wHs6GuA Quando si tocca un elemento, l'immagine rimane mentre tutto ciò che è sotto si modifica e quindi si anima nella sua posizione nella parte superiore dello schermo. Non è esattamente quello che voglio, ma penso che l'implementazione dovrebbe essere simile.

+0

come hai raggiunto il tuo obiettivo @Jaroslav – Erum

+0

Non l'ho fatto. Ma c'è la possibilità di farlo su Android 5.0. Sfortunatamente non compatibile all'indietro. – Jaroslav

+0

@Jaroslav Eri in grado di farlo? sto cercando di ottenere qualcosa come l'app di Yplan. – Goofy

risposta

1

Start new Activity e dare overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit); dove zoom_enter.xml ha

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/decelerate_interpolator"> 
<scale android:fromXScale="2.0" android:toXScale="1.0" 
     android:fromYScale="2.0" android:toYScale="1.0" 
     android:pivotX="50%p" android:pivotY="50%p" 
     android:duration="@android:integer/config_mediumAnimTime" /> 
</set> 

e zoom_exit ha

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/decelerate_interpolator" 
    android:zAdjustment="top"> 
<scale android:fromXScale="1.0" android:toXScale="2.0" 
     android:fromYScale="1.0" android:toYScale="2.0" 
     android:pivotX="50%p" android:pivotY="50%p" 
     android:duration="@android:integer/config_mediumAnimTime" /> 
<alpha android:fromAlpha="1.0" android:toAlpha="0" 
     android:duration="@android:integer/config_mediumAnimTime"/> 
</set> 

aggiornamento di entrambi questi file in/res/Anim/cartella.

+0

1. Ne ho bisogno per un frammento. 2. Per quanto posso vedere, l'animazione avvierà la dimensione 2x e ridurrà le dimensioni normali? – Jaroslav

+0

controlla questo http://stackoverflow.com/questions/4932462/animate-the-transition-between-fragments – Pr38y

0

Sto pensando di animare solo la griglia (zoom in e dissolvenza, stessa ora) e quando la griglia è a schermo intero, tren sostituisce il frammento con una dissolvenza in una nuova animazione di frammento.

+0

Sembra una soluzione valida, fammi sapere quando la proverai – Jaroslav