Java 在地图框视图上平移/缩放时,如何停止滚动视图的滚动?

Java 在地图框视图上平移/缩放时,如何停止滚动视图的滚动?,java,android,scrollview,mapbox,Java,Android,Scrollview,Mapbox,我在scrollview上放置了一个MapBox地图,scrollview意味着我不能在地图周围平移/缩放 我不确定这是否是MapBox的一个bug,或者我是否遗漏了一些可能很明显的东西 我在Github()中发现了这个问题,但正如我所说,我不确定这是否是一个bug,实际上只是我的实现中的一个问题。这段代码可能会为您解决这个问题: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(s

我在scrollview上放置了一个MapBox地图,scrollview意味着我不能在地图周围平移/缩放

我不确定这是否是MapBox的一个bug,或者我是否遗漏了一些可能很明显的东西


我在Github()中发现了这个问题,但正如我所说,我不确定这是否是一个bug,实际上只是我的实现中的一个问题。

这段代码可能会为您解决这个问题:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final ScrollView sv = (ScrollView) findViewById(R.id.scrollView);

    // Setup the MapView
    mapView = (MapView) findViewById(R.id.mapView);
    mapView.onCreate(savedInstanceState);

    // ....

    mapView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_MOVE:
                    sv.requestDisallowInterceptTouchEvent(true);
                    break;
                case MotionEvent.ACTION_UP:
                case MotionEvent.ACTION_CANCEL:
                    sv.requestDisallowInterceptTouchEvent(false);
                    break;
            }
            return mapView.onTouchEvent(event);
        }
    });
最后,这里是我的XML

ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:mapbox="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.cameron.mapboxplayground.MainActivity"
android:id="@+id/scrollView">


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <!-- Set the starting camera position and map style using xml-->
    <com.mapbox.mapboxsdk.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="500dp"
        mapbox:access_token="@string/accessToken"
        mapbox:style_url="@string/style_light"
        mapbox:center_latitude="40.7359"
        mapbox:center_longitude="-74.0151"
        mapbox:zoom="10"/>
</LinearLayout>
</ScrollView>
ScrollView xmlns:android=”http://schemas.android.com/apk/res/android"
xmlns:tools=”http://schemas.android.com/tools"
xmlns:mapbox=”http://schemas.android.com/apk/res-auto"
android:layout\u width=“匹配父项”
android:layout\u height=“match\u parent”
工具:context=“com.example.cameron.mapboxplayerd.MainActivity”
android:id=“@+id/scrollView”>

希望这对你有帮助

你能发布你的活动XML让我看一下吗?太好了。我需要设置onTouchListener事件。再次感谢您的及时答复。前几天你也回答了我的问题。继续努力!MapBox非常好。这应该发生在示例页面上。谢谢你,你救了我一天:)