添加或删除Google Maps V2黑屏时会闪烁

时间:2014-06-25 09:00:20

标签: android google-maps android-fragments google-maps-android-api-2

我有一个带有3个片段的活动,这些片段用标签切换。 其中一个片段有一张地图..我已尝试使用SupportMapFragment,只是片段中的com.google.android.gms.maps.MapView

但是当我添加或替换具有地图的片段时...我得到一个屏幕黑色闪烁......其他片段从未发生过

我看了一下,试图让地图的背景透明,但这对我没有任何好处

任何机构都有解决方案吗?

2 个答案:

答案 0 :(得分:0)

其实我必须在这里发布,你可以尝试使用

 new Handler().post(new Runnable()
            {
                public void run()
                {
                    mSupportMapFragment = new SupportMapFragment();
                    mFragmentTransaction = getActivity().getSupportFragmentManager().beginTransaction();
                    mFragmentTransaction.replace(mMapWrapperLayoutStoreMap.getId(), mSupportMapFragment);
                    mFragmentTransaction.addToBackStack(BK_STK_SUPPORT_MAP_FRAGMENT);
                    mFragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN).commit();
                }
            });

同时使用setTransition作为开放,如果有效,请告诉我。

答案 1 :(得分:0)

加载地图后,您将在onActivityCreated()的地图片段中了解到。 您应该调用以下方法

private void setMapTransparent(ViewGroup group) {
    int childCount = group.getChildCount();
    for (int i = 0; i < childCount; i++) {
        View child = group.getChildAt(i);
        if (child instanceof ViewGroup) {
            setMapTransparent((ViewGroup) child);
        } else {
             child.setBackgroundColor(0x00000000);
        }
    }
}

as

setMapTransparent((ViewGroup) fragment.getView());

您的fragment是mapFragment。希望这有帮助