これら 2 つのフラグの違いを理解するのに苦労しており、Window
それぞれをいつ、なぜ使用する必要があるのか 100% 確信が持てません。
言うためのドキュメントWindow.FEATURE_ACTIVITY_TRANSITIONS
:
makeSceneTransitionAnimation(Activity, Pair[])
またはで作成された ActivityOptions バンドルを送信または受信することで、Activity が Activity Transitions を実行できるようにしますmakeSceneTransitionAnimation(Activity, View, String)
。
そしてWindow.FEATURE_CONTENT_TRANSITIONS
言うためのドキュメント:
を使用してウィンドウ コンテンツの変更をアニメーション化するよう要求するためのフラグです
TransitionManager
。を使用
TransitionManager
して設定しsetTransitionManager(TransitionManager)
ます。何も設定されていない場合は、デフォルトTransitionManager
が使用されます。
ドキュメントには、次のWindow
メソッドではフラグを有効にする必要があると記載されていますが、同様に有効にする必要があるFEATURE_ACTIVITY_TRANSITIONS
かどうかについては何も述べられていません(ソース コードによると、はデフォルトでマテリアルをテーマにしたアプリケーション用であることに注意してください) 。FEATURE_CONTENT_TRANSITIONS
FEATURE_ACTIVITY_TRANSITIONS
true
FEATURE_CONTENT_TRANSITIONS
false
get{Enter,Exit,Return,Reenter}Transition()
set{Enter,Exit,Return,Reenter}Transition()
getSharedElement{Enter,Exit,Return,Reenter}Transition()
setSharedElement{Enter,Exit,Return,Reenter}Transition()
getTransitionBackgroundFadeDuration()
setTransitionBackgroundFadeDuration()
つまり、この情報に基づいてFEATURE_ACTIVITY_TRANSITIONS
、アプリケーションが Lollipop の新しい Activity Transition API を使用するために有効にする必要がある機能フラグが得られるようです。しかし、私を混乱させているのは、Android Developers サイトのこの記事FEATURE_CONTENT_TRANSITIONS
に、カスタム アクティビティ遷移を実装するには を有効にする必要があると記載されていることです。
だからここに私の質問があります:
- これらの 2 つのフラグの違いは何ですか? このコンテキストでの「アクティビティ遷移」と「コンテンツ遷移」の違いは何ですか?
- デフォルトで
FEATURE_ACTIVITY_TRANSITIONS
有効および無効になっているのはなぜですか? 実際にフラグFEATURE_CONTENT_TRANSITIONS
を有効にする必要があるのはいつですか?FEATURE_CONTENT_TRANSITIONS
FEATURE_ACTIVITY_TRANSITIONS
disableと enableを意味するのは理にかなっていFEATURE_CONTENT_TRANSITIONS
ますか? それとも、有効にFEATURE_CONTENT_TRANSITIONS
する必要がありますか?FEATURE_ACTIVITY_TRANSITIONS
ありがとう!