Google 地图 Android 重叠

Google Maps for Android overlapping

我对 Google 地图 Android API v2 有一个非常奇怪的问题。 它仅出现在 Samsung Galaxy S5(Android 5.0 或 5.1.1)和 Sony Xperia M2 Aqua 上。

我有两个带地图的片段,我正在 MainActivity 中切换它们(使用 FragmentTransaction.replace)。当我从 ContactFragment 切换到 MapFragment(附加为屏幕)时,地图正在叠加(紫色操作栏下方的这个奇怪的栏)。在这个地方,我有一些带有几个 TextView 的 RelativeLayout,但它们不可见。

最奇怪的是,在三星 Galaxy S5 上使用生产认证签名的 apk 显示了这个问题,但是当我删除这个 apk 并通过带有调试证书的 USB 安装应用程序时,问题就消失了。

屏幕如下:

问题已解决!

看来是FragmentManager出了问题。我的应用程序中有导航抽屉。

点击抽屉项目我只用 FragmentManager 替换了 Fragment : getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, mFragment, mFragmentTag).commit();

但是我忘记了Fragments即使被另一个fragment替换也不会被销毁。在用另一个片段替换 FrameLayout 内容之前,我必须从 FragmentManager 中删除所有片段:

for(Fragment f : getSupportFragmentManager().getFragments() {
    if(f != null) {
        getSupportFragmentManager().beginTransaction().remove(f).commit();
    }
}

添加此修复程序后 Google 地图运行良好,重叠问题消失了:)