我有一个带有3个片段的活动,这些片段用标签切换。 其中一个片段有一张地图..我已尝试使用SupportMapFragment,只是片段中的com.google.android.gms.maps.MapView
但是当我添加或替换具有地图的片段时...我得到一个屏幕黑色闪烁......其他片段从未发生过
我看了一下,试图让地图的背景透明,但这对我没有任何好处
任何机构都有解决方案吗?
答案 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。希望这有帮助