带有嵌套片段的Android Google Map API V2空白屏幕

时间:2015-09-03 10:57:48

标签: java android android-fragments google-maps-android-api-2 child-fragment

我正在使用Google Maps API V2高级集成的Android应用程序。我正在使用SupportFragment,一切正常,直到我开始将地图放在另一个子片段中 - 有一个深层片段层次结构:

SplitViewFragment-> RightChildFragment-> ViewPagerFragment-> SupportMapFragment

我想为平板电脑实现一种特殊的布局,因此无法删除一个片段级别。

到目前为止,一切都很好 - 一切都在Android 4.3+设备上运行良好,但在较低的API级别,地图片段始终保持空白/透明 - 谷歌徽标和缩放控件可见。没有logcat错误。 当我删除一个嵌套片段时,Google Map正在使用同一设备;所以它不是经常描述的身份验证问题。

我还尝试使用zOrderOnTop初始化MapFragment但没有成功:

GoogleMapOptions options = new GoogleMapOptions(); options.zOrderOnTop(true); SupportMapFragment mapFragment = SupportMapFragment.newInstance(options);

我花了两天时间试图找到这个问题的答案,并进行了广泛的研究 - 没有成功。

我非常期待你的回答。 万分感谢!

2 个答案:

答案 0 :(得分:0)

我曾经遇到过这个问题。希望这个链接可以帮助你:)

thanks to jcampbell05

  

如果你在较旧的Android设备上使用了SupportMapFragment,那么当你滚动ListView,ScrollView或ViewPager时,你知道当它离开黑盒时会有多烦人。

     

背后的原因是Map使用SurfaceView,当App创建此视图时,它会在Activity的后面创建一个Window并打出一个洞,意味着你的Activity窗口中的内容无法在SurfaceView的原始位置。

答案 1 :(得分:0)

难以置信 - 我在层次结构中有硬件加速的动画视图 - 我删除了API级别的加速度< 18因为clipPath存在问题:

setLayerType(View.LAYER_TYPE_SOFTWARE, null);

我通过删除硬件加速的停用来修复它。我要找到另一种能够解除硬件加速的解决方案。

非常感谢你的帮助。