2014-12-04 8 views
10

Mam kilka CardViews w mojej aplikacji i chcę, aby działały jak karty w Google Keep. Na przykład po kliknięciu na kartę zawierającą tekst, rozwija się (wraz z animacją) w inny widok.Jak rozwinąć CardViews, aby pokazać więcej szczegółów, takich jak karty Google Keep?

Jeśli nie masz pewności, co mam na myśli, utwórz notatkę w aplikacji Google Keep na Androida, dotknij karty wyświetlanej po utworzeniu notatki. Właśnie to chcę zrobić w mojej aplikacji.

Jak mam to zrobić?

Odpowiedz

26

Nowość w Lollipop!

Activity + Fragment Transitions

Deklarując „shared elementy”, które są wspólne dla dwóch ekranach można stworzyć płynne przejście między tymi dwoma państwami.

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()); 

Tutaj definiujemy samą transitionName w dwóch ekranach. Podczas rozpoczynania nowej aktywności ta animacja jest automatycznie animowana. Oprócz wspólnych elementów, możesz teraz także układać choreografię w elementy wchodzące i wychodzące.

+0

Awesome. Nie wiedziałem o tym. Zrobię to. Twoje zdrowie! – user2900772

+1

Tak ... to jest idealne, ale zamiast linków podać pewne szczegółowe informacje, ponieważ linki mogą nie działać po pewnym czasie. Dziękujemy – GvSharma

+1

Dobrze. Zaktualizowana odpowiedź. @ user2900772 rozwiązałeś swój problem? – shkschneider