1

フラグメント間の遷移をアニメーション化しようとしています。

pic1

しかし、遷移ビューの開始時に分離されます

pic2

これを回避する方法を教えてください。移動の開始時に最初のビューが消える必要があります。ありがとうございました!

@Override
public void onClickMessage(DialogItem item, View view) {
    setSharedElementReturnTransition(TransitionInflater.from(getActivity()).inflateTransition(R.transition.change_image_transform));
    setExitTransition(TransitionInflater.from(getActivity()).inflateTransition(android.R.transition.fade));

    DetailsFragment fragment = new DetailsFragment();
    fragment.setDialog(item);
    fragment.setSharedElementEnterTransition(TransitionInflater.from(getActivity()).inflateTransition(R.transition.change_image_transform));
    fragment.setEnterTransition(TransitionInflater.from(getActivity()).inflateTransition(android.R.transition.fade));

    View ava = view.findViewById(R.id.ivPhoto);
    ava.setTransitionName(DetailsFragment.AVA_TRANS);

    View name = view.findViewById(R.id.tvName);
    name.setTransitionName(DetailsFragment.NAME_TRANS);

    FragmentTransaction ft = getFragmentManager().beginTransaction()
            .replace(R.id.container, fragment)
            .addToBackStack(null)
            .addSharedElement(ava, DetailsFragment.AVA_TRANS)
            .addSharedElement(name, DetailsFragment.NAME_TRANS);
    ft.commit();

}
4

1 に答える 1

0

共有要素の遷移に使用されるビューが 1 つだけのようです。ImageViewアイコンTextView用と「クレイジースマイル」テキスト用に、レイアウトでビューを分離する必要があります。これにより、共有要素遷移に 2 つの要素を指定できます。それから彼らは別々に飛びます。

のわかりやすい説明遷移アニメーションは、こちら (ステップバイステップ) にあります。

于 2015-06-26T14:34:25.670 に答える