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

Android Google Map API V2 blank screen with nested fragments

我正在开发一个 android 应用程序,它高级集成了 Google 地图 API V2。我正在使用 SupportFragment 并且一切正常,直到我开始将地图放入另一个子片段中 - 片段层次结构很深:

SplitViewFragment->RightChildFragment->ViewPagerFragment->SupportMapFragment

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

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

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

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

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

我非常期待您的回答。 百万感谢!

我曾经遇到过这个问题。希望这篇link对你有所帮助:)

thanks to jcampbell05

If you've used the SupportMapFragment on older Android devices then you know how annoying it can be when it leaves a black box whenever you scroll a ListView, ScrollView or a ViewPager.

The reason behind this is that the Map uses a SurfaceView, when the App creates this view it creates a Window behind your Activity's and punches a hole meaning things in your Activity's window cannot seen underneath the SurfaceView's original location.

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

setLayerType(View.LAYER_TYPE_SOFTWARE, null);

我通过取消禁用硬件加速来修复它。我必须找到另一个能够停用硬件加速的解决方案。

非常感谢您的帮助。