我正在尝试将ImageView内的RecyclerView内的项目转换为Activity。我在
中声明了以下内容styles.xml
<!-- enable window content transitions -->
<item name="android:windowActivityTransitions">true</item>
<!-- specify enter and exit transitions -->
<!-- options are: explode, slide, fade -->
<item name="android:windowEnterTransition">@transition/change_image_transform</item>
<item name="android:windowExitTransition">@transition/change_image_transform</item>
<!-- specify shared element transitions -->
<item name="android:windowSharedElementEnterTransition">
@transition/change_image_transform
</item>
<item name="android:windowSharedElementExitTransition">
@transition/change_image_transform
</item>
然后在我的
Recyclerview Adapter
我正在使用
开始活动if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
{
ActivityOptionsCompat options = ActivityOptionsCompat.MakeSceneTransitionAnimation((Activity)Context, pec.View, "profile");
Context.StartActivity(intent, options.ToBundle());
}
我已使用
定义了两个ImageViewtransitionName = “轮廓”
并且还有一个
过渡/ change_image_transform.xml
看起来像
<?xml version="1.0" encoding="utf-8" ?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeImageTransform/>
</transitionSet>
没有错误,我在Recyclerview中的项目和活动之间没有发生转换。
答案 0 :(得分:1)
如果您使用MakeSceneTransitionAnimation
,则无需在xml文件中设计转换。只需设置<item name="android:windowActivityTransitions">true</item>
即可。
执行imageview转换时,应确保转换名称相同。
我有demo它应该对您有所帮助,从MainActivity到Activity1的视图转换。 您可以参考该项目并找到解决方案。