如何展开CardView以显示Google Keep卡等更多详细信息?

时间:2014-12-04 17:37:59

标签: android android-animation android-cardview

我的应用程序中有一些CardView,我希望它们像Google Keep中的卡一样运行。例如,当我单击具有文本的卡片时,它会(使用动画)扩展到另一个视图中。

如果您不确定我的意思,请在Google Keep Android应用上创建一个便笺,点按创建便笺时显示的卡片。这正是我想在我的应用程序中发生的事情。

我该怎么做呢?

1 个答案:

答案 0 :(得分:28)

棒棒糖的新功能!

Activity + Fragment Transitions

  

宣布共享元素"在两个屏幕上很常见,您可以在两个状态之间创建平滑过渡。

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

这里我们在两个屏幕中定义相同的transitionName。启动新活动时,此转换会自动进行动画处理。除了共享元素,您现在还可以编排进入和退出元素。