Xamarin Android ImageView 转换
Xamarin Android ImageView Transition
我正在尝试将 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
我开始 activity 使用
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="profile"
还有一个
transition/change_image_transform.xml
看起来像
<?xml version="1.0" encoding="utf-8" ?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeImageTransform/>
</transitionSet>
没有错误,只是我在 recyclerview 中的项目和 activity 之间没有发生转换。
如果您使用 MakeSceneTransitionAnimation
,则不需要在 xml 文件中设计过渡。只需设置 <item name="android:windowActivityTransitions">true</item>
就足够了。
当您进行图像视图转换时,您应该确保转换名称相同。
我有一个demo它应该对你有帮助,视图从 MainActivity 到 Activity1 的转换。
可以参考项目,找到解决方案。
我正在尝试将 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
我开始 activity 使用
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="profile"
还有一个
transition/change_image_transform.xml
看起来像
<?xml version="1.0" encoding="utf-8" ?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<changeImageTransform/>
</transitionSet>
没有错误,只是我在 recyclerview 中的项目和 activity 之间没有发生转换。
如果您使用 MakeSceneTransitionAnimation
,则不需要在 xml 文件中设计过渡。只需设置 <item name="android:windowActivityTransitions">true</item>
就足够了。
当您进行图像视图转换时,您应该确保转换名称相同。
我有一个demo它应该对你有帮助,视图从 MainActivity 到 Activity1 的转换。 可以参考项目,找到解决方案。