接手公司项目,发现fagement使用百度地图切换时产生短暂黑屏,查了一下资料,大致原因是百度SDK的问题:
解决方法:
1,在activity种的onCreate()方法中设置窗口透明度。
public void onCreate(Bundle savedInstanceState) { //避免加载地图黑屏 getWindow().setFormat(PixelFormat.TRANSLUCENT); super.onCreate(savedInstanceState);
}
2,如果问题没有得到解决,手动在fragment的onResume()、onPause()方法中手动添加可视状态:
@Override public void onResume() { mMapView.setVisibility(View.VISIBLE); mMapView.onResume();
super.onResume();
}@Override public void onPause() { mMapView.setVisibility(View. INVISIBLE); mMapView.onPause(); super.onPause();}
3,如果还为得到解决,可以尝试替换地图控件,可以把MapView换成TextureMapView:
<com.baidu.mapapi.map.TextureMapView android:id="@+id/bmapView" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:clickable="true" > </com.baidu.mapapi.map.TextureMapView>