2014-12-04 10 views
10

Mi hanno alcune CardViews nella mia app e voglio loro di funzionare come le carte in Google Keep. Ad esempio, quando clicco su una carta che ha del testo, si espande (con l'animazione) in un'altra vista.Come faccio ad espandere CardViews per mostrare più dettagli come le carte Google Keep?

Se non siete sicuri di quello che voglio dire, creare una nota sul app Google Keep Android, toccare sulla scheda che appare quando si crea la nota. Questo è esattamente ciò che voglio accadere nella mia app.

Come faccio a fare questo?

risposta

26

Nuovo in Lollipop!

Activity + Fragment Transitions

Dichiarando "elementi comuni" che sono comuni su due schermi è 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" /> 

Java:

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 lo stesso transitionName a due schermi. Quando si avvia la nuova attività e questa transizione viene animata automaticamente. Oltre agli elementi condivisi, ora puoi anche coreografare elementi in entrata e in uscita.

+0

impressionante. Non lo sapevo. Ci provo. Saluti! – user2900772

+1

Sì .. questo è perfetto ma credo che invece di collegamenti fornire alcune informazioni dettagliate come collegamenti potrebbero non funzionare dopo un po '. Grazie – GvSharma

+1

Bene. Risposta aggiornata @ user2900772 hai risolto il problema? – shkschneider

Problemi correlati