14

アプリにいくつかの CardView があり、それらを Google Keep のカードのように機能させたいと考えています。たとえば、テキストのあるカードをクリックすると、(アニメーションで) 別のビューに展開されます。

意味がわからない場合は、Google Keep Android アプリでメモを作成し、メモが作成されたときに表示されるカードをタップします。これはまさに私が自分のアプリで実現したいことです。

どうすればこれを行うことができますか?

4

1 に答える 1

29

ロリポップの新機能!

アクティビティ + フラグメント遷移

2 つの画面に共通する「共有要素」を宣言することで、2 つの状態の間をスムーズに遷移させることができます。

アルバム_グリッド.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());

ここでは、2 つの画面で同じ transitionName を定義しています。新しいアクティビティを開始すると、このトランジションは自動的にアニメーション化されます。共有要素に加えて、入り要素と出要素の振り付けもできるようになりました。

于 2014-12-04T17:40:42.160 に答える