【问题标题】:Xamarin Android ImageView TransitionXamarin Android ImageView 转换
【发布时间】:2016-12-26 15:50:39
【问题描述】:

我正在尝试将 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 适配器

我正在使用

开始活动
if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
{ 
    ActivityOptionsCompat options = ActivityOptionsCompat.MakeSceneTransitionAnimation((Activity)Context, pec.View, "profile");
    Context.StartActivity(intent, options.ToBundle());
}

我已经用

定义了两个 ImageViews

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 中的项目和活动之间没有发生转换。

【问题讨论】:

    标签: android xamarin.android android-transitions


    【解决方案1】:

    如果您使用MakeSceneTransitionAnimation,则无需在 xml 文件中设计过渡。只需设置&lt;item name="android:windowActivityTransitions"&gt;true&lt;/item&gt; 就足够了。

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

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

    【讨论】:

    • 图像是否必须在两个 ImageView 上固定?我正在从 RecyclerView 加载活动,因此每一行都有不同的图像,我想将其传递给活动。
    • @Carl Image 不需要固定在两个图像视图上。使用Pair 定义具有相同转换名称的多图像视图。您可以在intent 中添加一个id,当DetialActivity 创建时您可以接收该id 并在DetialActivity'ImageView 中设置不同的图像
    • 发现了问题,我用的是ActivityOptionsCompat,现在我把它改成了ActivityOptions,一切正常。感谢您的帮助。
    • 我可以从活动到片段这样做吗?
    猜你喜欢
    • 2013-12-15
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    相关资源
    最近更新 更多