Xamarin Android ImageView Transition

时间:2016-12-20 16:34:03

标签: android xamarin.android android-transitions

我正在尝试将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());
}

我已使用

定义了两个ImageView
  

transitionName = “轮廓”

并且还有一个

  

过渡/ change_image_transform.xml

看起来像

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

没有错误,我在Recyclerview中的项目和活动之间没有发生转换。

1 个答案:

答案 0 :(得分:1)

如果您使用MakeSceneTransitionAnimation,则无需在xml文件中设计转换。只需设置<item name="android:windowActivityTransitions">true</item>即可。

执行imageview转换时,应确保转换名称相同。

我有demo它应该对您有所帮助,从MainActivity到Activity1的视图转换。 您可以参考该项目并找到解决方案。

enter image description here