1

Lollipop で共有要素遷移を試しています。いくつかのカードをロードする recyclerview があり、次のアクティビティでカードをクリックするとその詳細が表示されます。

カードに波及効果と StateListAnimator を設定しました。しかし、これらは目に見えないため、これらの効果が完了する前にトランジションが開始されます。

ステートリストアニメーターとリップルが完了するのを待つことができるように、遷移を遅らせる方法はありますか?

これが私が使用するコードです

ActivityOptions options = null;
        if (Utilities.isLollipop()) {
            options = ActivityOptions.makeSceneTransitionAnimation(this, Pair.create(view, "hero_view"), Pair.create((View) fab, "fab"));
 startActivity(detailIntent, options.toBundle());
        }

前もって感謝します

4

2 に答える 2

0

最終的に回避策を使用しましたが、これを行う正しい方法を知りたいので、質問を開いたままにします。

私が行った回避策は、1. ステート リスト アニメーターを削除し、それを onclick メソッドのアニメーターとして追加することでした。2. ハンドラーを使用して、アクティビティへの遅延呼び出しを投稿しました

new Handler().postDelayed(new Runnable() {
                      @Override
                      public void run() {

                          Intent i=new Intent(SearxhJobs.this,JobsTypes.class);
                          startActivity(i);
                      }
                  }, 200);

PS- あまり直感的ではなかったので、エフェクトを削除してしまいました。

于 2015-03-25T03:50:36.400 に答える