android 使用百度地图Mapview黑屏状态

同事在使用百度地图时发现MapView 处于黑屏状态,只能看到百度地图的logo

最后发现原来是设置了activity的flags

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
		//注意,不能添加上面这条flag 否则可能导致出现黑屏状态
		setContentView(R.layout.main_tab_layout);
}

添加了
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

原因如下:

点击打开链接



根据官方说法 https://code.google.com/p/gmaps-api-issues/issues/detail?id=4865(以上网址需)

是因为Google Map 继承了SurfaceView, 而SurfaceView的内容又默认是在所有View之下,Theme.Dialog的那层阴影就出现在地图之上了,也就能理解为什么上下的TextView 和Button都没有被覆盖。

这个bug谷歌已经在2013年8月27号修复了,而我之前在做项目时,既用到谷歌地图,也用到百度地图,只有百度有这个问题,到现在依然有。我尝试换高德3D版地图,无奈,高德那边也有同样的问题。

希望百度在跟进谷歌API的同时,也跟进一下bug fix。

目前我的临时方案是用“getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);”把整个阴影层去掉,也是没有办法的办法了。

以上,希望能帮到跟我遇到相同情况的开发者。(ps:百度到目前为止除了版主,没有任何人联系过我...:@)

你可能感兴趣的:(android 使用百度地图Mapview黑屏状态)