2015-01-02 24 views
11

Attualmente sto creando la mia prima app per Android e mi chiedevo quale sarebbe stato il metodo per impostare un cardview da sollevare e quindi espandere in un rettangolo più grande, rivelando un nuovo frammento?Animazione CardView: aumentare ed espandere al clic?

edit: (il nuovo frammento si riempiva il terzo centro dello schermo, non importa dove si trovava la scheda originale)

risposta

3

Movimento Autentico

superfici materiali non appaiono solo dal nulla come un salto in un film; si muovono sul posto contribuendo a focalizzare l'attenzione, stabilire relazioni spaziali e mantenere la continuità. I materiali rispondono al tocco per confermare l'interazione e tutte le modifiche si irradiano verso l'esterno da il punto di contatto. Tutto il movimento è significativo e intimo, aiutando la comprensione dell'utente di .

Attività Transizioni + Frammento

dichiarando ‘elementi condivisi’ che sono comuni su due schermi si possibile creare una transizione graduale tra i due stati.

album_grid.xml 
… 
    <ImageView 
     … 
     android:transitionName="@string/transition_album_cover" /> 
album_details.xml 
… 
    <ImageView 
     … 
     android:transitionName="@string/transition_album_cover" /> 

AlbumActivity.java 
Intent intent = new Intent(); 
String transitionName = getString(R.string.transition_album_cover); 
… 
ActivityOptionsCompat options = 
ActivityOptionsCompat.makeSceneTransitionAnimation(activity, 
    albumCoverImageView, // The view which starts the transition 
    transitionName // The transitionName of the view we’re transitioning to 
    ); 
ActivityCompat.startActivity(activity, intent, options.toBundle()); 

qui definiamo stesso transitionName in due schermi. Quando si avvia la nuova attività e questa transizione viene animata automaticamente. In oltre agli elementi condivisi, ora puoi anche inserire la coreografia e gli elementi di uscita .

Fonte: Implementing Material Design

+3

Possiamo farlo con una vista di carte? –