1

我正在尝试为片段之间的过渡设置动画。

图1

但是在过渡视图开始时是分开的

图2

请告诉我如何避免这种情况?最初的观点必须在运动开始时消失。谢谢!

@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“Crazy Smile”文本。有了它,您可以为共享元素转换指定 2 个元素。然后他们将分开飞行。

可以在这里找到很好的解释过渡动画(一步一步)

于 2015-06-26T14:34:25.670 回答