片段之间的共享元素转换

时间:2015-03-12 23:41:34

标签: android shared-element-transition

我正在尝试创建一个类似于播放音乐的共享元素过渡元素。单击卡片时,专辑封面将扩展为新片段中的ImageView。然后当你点击它时,它会动画回到卡片中。我让enter动画运行正常,但问题是返回或退出转换。每当我回到上一个片段时,应用程序都会崩溃。这是我得到的错误:

  

java.lang.NullPointerException:尝试调用虚方法   '布尔   android.support.v4.app.Fragment.getAllowReturnTransitionOverlap()'上   空对象引用

以下是我执行动画/过渡的方式:

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                fragment.setSharedElementReturnTransition(TransitionInflater.from(fragment.getActivity()).inflateTransition(R.transition.change_image_transform));
                fragment.setReturnTransition(TransitionInflater.from(fragment.getActivity()).inflateTransition(android.R.transition.explode));

                Fragment replaceFragment = new AlbumPageFragment();
                replaceFragment.setSharedElementEnterTransition(TransitionInflater.from(fragment.getActivity()).inflateTransition(R.transition.change_image_transform));
                replaceFragment.setEnterTransition(TransitionInflater.from(fragment.getActivity()).inflateTransition(android.R.transition.explode));


                ImageView image = (ImageView) layout.findViewById(R.id.album_card_album_art);


                FragmentTransaction ft = fragment.getFragmentManager().beginTransaction()
                        .replace(R.id.content_frame, replaceFragment)
                        .addToBackStack("transaction")
                        .addSharedElement(image, "MyTransition");
                ft.commit();
            }

change_image_transform.xml

<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
    <changeImageTransform />
</transitionSet>

content_frame位于活动的布局视图中,因此两个片段都包含在其中。

我的问题是:如何正确使用带有片段的共享元素转换?谢谢!

1 个答案:

答案 0 :(得分:0)

答案可能是这样的

if(myElementCmpFunc(x,pivot) <= 0)
相关问题