ImageView缩放上的Android共享元素转换错误

ImageView缩放上的Android共享元素转换错误,android,material-design,android-transitions,Android,Material Design,Android Transitions,我尝试了许多不同的变体,但无法使返回转换正常工作 当我退出活动B时,图像会转换回活动A,但它会被缩放直到消失,然后消失后会显示它应该显示的位置 我尝试了以下和该组其他人的不同变体 活动A 来自recyclerview中的click listener Intent intent = new Intent(getActivity(), ApplyActivity.class); ActivityOptionsCompat transitionActivityOptions;

我尝试了许多不同的变体,但无法使返回转换正常工作

当我退出活动B时,图像会转换回活动A,但它会被缩放直到消失,然后消失后会显示它应该显示的位置

我尝试了以下和该组其他人的不同变体

活动A 来自recyclerview中的click listener

Intent intent = new Intent(getActivity(), ApplyActivity.class);
            ActivityOptionsCompat transitionActivityOptions;
            transitionActivityOptions = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(), imageView, getString(R.string.transition_image_details));
            intent.putExtra(ApplyActivity.EXTRA_NAME, selected_launcher);
            intent.putExtra(ApplyActivity.EXTRA_INSTALLED, mLaunchers.get(position).getInstalled());

            getActivity().startActivity(intent, transitionActivityOptions.toBundle());
活动A布局

<ImageView
android:id="@+id/launcher_icon"
android:transitionName="@string/transition_image_details"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_centerHorizontal="true"
android:padding="@dimen/small_padding"
android:layout_alignParentTop="true" />
我尝试了以下真/假getWindow().SetSharedElementsSeOverlay(真)

活动B布局(在AppBarLayout/折叠工具栏布局内)


更改\u image\u transform.xml

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

我也尝试过在values-v21/styles.xml中设置转换,但没有成功

我甚至尝试过在recyclerview中设置位置,但也没有成功

这里是一个视频的问题。我放慢了过渡的速度,以便看得更清楚


您可以尝试在活动B中删除这些transiton代码。我完成了,效果很好。

确保两个图像共享相同的
缩放类型

有关更多信息,请参阅本文:

只需澄清一点,您在活动a的重新进入转换中遇到了问题。看看这里,您可以找到关于它的好信息。我能知道为什么您在XML和代码中混合使用转换API元素吗?。我的意思是,如果不必担心API<21,只需使用XML就可以实现相同的行为。如果你想实现它,我可以将你的问题代码有机地组织起来:)最后一个问题:我想你不必使用
。setSharedElementReturnTransition(transition)
,如果你不定义任何其他内容,它将需要进入和退出转换。你能在没有那行代码的情况下试试你的代码吗?
<ImageView
   android:id="@+id/backdrop"
   android:transitionName="@string/transition_image_details"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="80dp"
   android:paddingTop="30dp"
   app:layout_collapseMode="parallax"
   app:layout_collapseParallaxMultiplier="0.7" />
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeTransform  />
<changeImageTransform />
</transitionSet>