我有一个Android应用程序,其活动在3个视图之间滑动(从左到右)。其中一个视图显示GoogleMaps。除此之外,我需要上下滚动(不是在地图中,而是在其他2个视图中)来显示所有内容。我有一些问题让应用程序理解滑动的手势,而不是在需要时滚动,但我在这里找到了一个很好的解决方案: http://www.jmstudio.org/archives/391
我现在的问题是在我的MapView中我想显示用户的位置。所以我实现了一个像这样的MapOverlay类:
受保护的类MyLocationOverlay扩展了com.google.android.maps.Overlay {
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {
Paint paint = new Paint();
super.draw(canvas, mapView, shadow);
// Converts lat/lng-Point to OUR coordinates on the screen.
Point myScreenCoords = new Point();
mapView.getProjection().toPixels(p, myScreenCoords);
paint.setStrokeWidth(1);
paint.setARGB(255, 255, 255, 255);
paint.setStyle(Paint.Style.STROKE);
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.positiondot);
canvas.drawBitmap(bmp, myScreenCoords.x, myScreenCoords.y, paint);
return true;
}
}
然后从我的活动中我打电话
List<Overlay> mapOverlays;
MyLocationOverlay mapOverlay;
mapOverlays = mapView.getOverlays();
mapOverlay = new MyLocationOverlay();
mapOverlays.add(mapOverlay);
这样可以,但是一旦显示位置,就无法识别滑动。如果用户移除了点(按下按钮mapOverlays.removeAll(mapOverlays);被调用),则滑动再次工作,但当然位置不再显示。这就像列表由于某种原因禁用了滑动。
所以我想同时显示位置和滑动。我的滑动代码或多或少是我提供的链接中的代码(只是在xml中实现了我的视图)。有什么问题以及如何解决?
提前谢谢!