Android:无法使用 Google Maps Fragment 进行共享元素转换

Posted

技术标签:

【中文标题】Android:无法使用 Google Maps Fragment 进行共享元素转换【英文标题】:Android: Can't get shared element transition to work with Google Maps Fragment 【发布时间】:2015-11-08 02:06:19 【问题描述】:

我正在尝试让 Google 地图片段在两个活动之间持续存在。我不知道如何做持久化部分,但我绝对希望地图出现在这两个活动中。为了使共享元素过渡,我给片段赋予了相同的过渡名称。我还启用了 Window Transitions 并像这样启动了 Activity B:

    ActivityOptionsCompat options = ActivityOptionsCompat.
            makeSceneTransitionAnimation(this, map, getString(R.string.map));
    startActivity(i, options.toBundle());

但在我的一生中,我无法将这种过渡转变为工作。关于我可能做错的任何想法?

活动 A:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/map"
            android:transitionName="@string/map"
            android:layout_below="@id/toolbar_map_activity"
            android:layout_
            android:layout_
            tools:context="com.example.gyang.android.MapActivity"
            class="com.google.android.gms.maps.SupportMapFragment"/>

活动 B:

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/map"
        android:transitionName="@string/map"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_below="@id/spacer_between_logo_and_map"
        android:layout_
        android:layout_
        tools:context="com.example.gyang.android.MapActivity"
        class="com.google.android.gms.maps.SupportMapFragment"/>

【问题讨论】:

我也有同样的问题。你得到了有效的解决方案吗? 同样的问题!您是否找到了可行的解决方案? 【参考方案1】:

好吧,可能已经晚了,或者可能有更好的解决方案,但这对我有用:

在 Activity A 中,我使用的是 ImageView,其中显示了我想在 Activity B 上显示的地图的一小部分。

在 Activity B 中,我将 &lt;fragment&gt; 放入了一个 LinearLayout 中,例如,我将要使用的 transitionName 放入其中。

过渡动画现在“放大”我的图像并将其变形为地图片段。

我希望这可以帮助那些仍在寻找解决方案的人。

【讨论】:

以上是关于Android:无法使用 Google Maps Fragment 进行共享元素转换的主要内容,如果未能解决你的问题,请参考以下文章

Android:无法使用 Google Maps Fragment 进行共享元素转换

com.google.android.gms.maps.MapFragment:无法解析符号“地图”

Android - Google Maps V2 无法使用 Fused Location

无法找到类com.google.android.gms.maps.SupportMapFragment

无法实例化 android.gms.maps.MapFragment

使用 Google Maps API android studio “除非您更新 Google Play 服务,否则应用程序将无法运行”