ビューページャーに3つのフラグメントを持つアクティビティがあります。私は内部にフラグメントを持つビューページャーを持つ別のトップフラグメントを開始しました。すべてがうまくいき、私はこれをすべて成功させました。しかし、フラグメントからフラグメントへの共有遷移のためにaddSharedElementを使用すると、アニメーションはまったく起こりません。共有トランジションのフラグメントが機能しない
View transitionView = view.findViewById(R.id.photo_image_view);
fragmentManager
.beginTransaction()
.replace(R.id.fragment_container, fragment)
.addToBackStack(null)
.addSharedElement(transitionView, ViewCompat.getTransitionName(transitionView))
.commit();
と私がやったのonCreate私の次のフラグメントに:
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getActivity() != null) {
getActivity().supportPostponeEnterTransition();
}
}
その後、onCreateViewに、私はフラグメントと別のviewpagerを実装して、私は以下のような新しいトップ断片と断片を置換します。ビューのページャを実装した後、私は私がやった表示したいフラグメント:
activity.supportStartPostponedEnterTransition();
をしかしまったくアニメーションはありません:onViewCreatedで
desiredFragmentToShow.setSharedElementEnterTransition(TransitionInflater.from(
getActivity()).inflateTransition(R.transition.change_image_trans));
desiredFragmentToShow.setEnterTransition(TransitionInflater.from(
getActivity()).inflateTransition(android.R.transition.fade));
とdesiredFragmentToShowでは、私がやりました。身体にアイデアがある場合は助けてください。
したがって、フラグメント間で共有要素を使用している場合、なぜアクティビティに関与していますか?例えば、あなたは 'getActivity()を呼び出しています。supportPostponeEnterTransition();は' postponeEnterTransition(); 'などでなければなりません。 –
@Mark Keen私は 'postponeEnterTransition();'次のコンテナフラグメントオブビューページャの 'onCreate()'と 'startPostponedEnterTransition();'フラグメント内のビューページャでは、ビューページャフラグメントの静止画ビューはアニメーション化されません。 –
@ WakilAhmad問題の解決に成功しましたか? –