これら 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_TRANSITIONSFEATURE_ACTIVITY_TRANSITIONStrueFEATURE_CONTENT_TRANSITIONSfalse
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_TRANSITIONSdisableと enableを意味するのは理にかなっていFEATURE_CONTENT_TRANSITIONSますか? それとも、有効にFEATURE_CONTENT_TRANSITIONSする必要がありますか?FEATURE_ACTIVITY_TRANSITIONS
ありがとう!