2017-02-16 12 views
1

私は2つのアクティビティ:ABを持っています。どちらも画像のViewPagerを持っています。カスタムアクティビティ共有移行

「現在の」イメージが共有要素として共有アクティビティに移行しています。たとえば、ユーザーが3番目のイメージにスクロールすると、共有要素名はimage_2になります。

ActivityCompat.startActivityForResult(activity, intent, requestCode, 
     ActivityOptionsCompat.makeSceneTransitionAnimation(activity, sharedElements) 
      .toBundle()); 

これは完璧に動作します:私はちょうど呼んでトランジションを実行するには

A(発信者アクティビティ)のカスタム終了トランジションを追加したいと思います。後者は別のビューをフェードアウトする必要があります。

この目標を達成するにはどうすればよいですか?

答えて

0

終了、再入力、入力、およびリターンの遷移は、以下の方法で指定できます。

getWindow().setEnterTransition(getEnterTransition()); 
getWindow().setReturnTransition(getReturnTransition()); 
getWindow().setExitTransition(getExitTransition()); 
getWindow().setReenterTransition(getReenterTransition()); 

もちろん、終了トランジションを設定するだけで済みます。しかし、これを含める理由は、おそらく、あなたの呼び出し側のアクティビティから再び遷移するように設定したいということです。あなたはこの

@SuppressWarnings("NewApi") 
private Transition getExitTransition() { 
    Fade fadeOut = new Fade(Fade.OUT); 
    fadeOut.excludeTarget(android.R.id.navigationBarBackground, true); 
    fadeOut.excludeTarget(android.R.id.statusBarBackground, true); 
    fadeOut.setInterpolator(new FastOutLinearInInterpolator()); 
    fadeOut.setDuration(150); 
    return fadeOut; 
} 

のようなフェードトランジションを使用することができます

あなたの質問に答えるために(フェードアウト)あなたは、私がナビゲーションバーとステータスバーを除外気づくかもしれません、それはあなたが行くありwhite blinking problem.

を防ぐことがありました私はこれが役立つことを願っています

+0

私はすでにこれを試しました。それは動作しません。 – fran

関連する問題