Ham*_*han 5 android google-maps bottom-sheet
我想创建一个像示例图像这样的视图
其中想要在底部工作表片段中显示谷歌地图。
我试过的
我试图在底部表单对话框片段中显示地图,但输出不是我想要的。
我需要的是一个固定大小的视图,它应该能够显示地图。目前,我的视图还响应用户手势以更改底部工作表状态,但我需要手势仅在地图上工作(例如用于地图平移)。
Har*_*tel 10
当我们在 上使用地图时BottomSheet,它会与触摸事件发生冲突。所以,需要禁止触摸BottomSheet。
请在下面找到一个允许地图移动的自定义类。
public class BottomSheetMapView extends MapView {
public BottomSheetMapView(Context context) {
super(context);
}
public BottomSheetMapView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public BottomSheetMapView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public BottomSheetMapView(Context context, MapboxMapOptions options) {
super(context, options);
}
@Override
public boolean onInterceptTouchEvent(final MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
getParent().requestDisallowInterceptTouchEvent(false);
break;
default:
break;
}
return super.onInterceptTouchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
}
我正在使用 Mapbox。所以,我在 xml 中使用com.example.BottomSheetMapView而不是com.mapbox.mapboxsdk.maps.MapView。同样,您可以使用谷歌地图。
这满足您的要求。
| 归档时间: |
|
| 查看次数: |
2692 次 |
| 最近记录: |