【发布时间】:2012-12-22 11:47:20
【问题描述】:
我正在尝试将新 MapView 的实例放入 ListView。新的地图视图是:
com.google.android.gms.maps.MapView
我正在关闭所有交互,并为视图设置固定高度:
GoogleMapOptions options = new GoogleMapOptions();
options.mapType(GoogleMap.MAP_TYPE_NORMAL);
options.compassEnabled(false);
options.rotateGesturesEnabled(false);
options.scrollGesturesEnabled(false);
options.tiltGesturesEnabled(false);
options.zoomControlsEnabled(false);
options.zoomGesturesEnabled(false);
mMapView = new MapView(getActivity(), options);
mMapView.setLayoutParams(new AbsListView.LayoutParams(
AbsListView.LayoutParams.MATCH_PARENT,
200));
mMapView.setEnabled(false);
mMapView.setFocusable(false);
getListView().addHeaderView(mMapView);
getListView().addAdapter(simpleArrayAdapter);
这可行,但如果我快速滚动列表视图,看起来地图视图渲染有点滞后,因此您可以在滚动方向上看到一小块黑色像素。
这似乎是某种同步问题,因为我猜测使用 opengl 的 mapview 足够快,可以响应我的滚动进行渲染。此外,旧的 MapView+MapActivity 在相同的设置中也能正常运行。
下面是快速滚动时出现的间隙图片。片刻之后,mapview 会赶上并再次渲染 ok。
对此有何想法?
谢谢
----- 更新---------
此问题看起来与以下内容相同:
ViewPager with Google Maps API v2: mysterious black view
但是,我无法在此处记录修复以在此设置中工作。
【问题讨论】:
-
我也有类似的问题:stackoverflow.com/questions/14419521/…。发布了一段视频,展示了它在那里的样子。顺便说一句,你在什么设备上测试?
-
设备范围 - HTC Wildfire、Galaxy Nexus、Nexus S - 在所有设备上的行为都相似,有些比其他设备更糟糕(HTC Wildfire 完全变黑了)
-
嘿伙计,据我所知,你有像这里 cocoacontrols.com/controls/slparallaxcontroller 这样的控制器。你知道我在哪里可以找到它。
标签: android google-maps surfaceview android-maps android-maps-v2