使用webview/mapview时防止可滚动布局

IHC*_*oid 0 layout android google-maps android-webview

我陷入了一种情况......我的父布局是可滚动的布局.在这个布局中,我有一个webview和一个tablelayout.某些数据在此可滚动布局中膨胀.

我的问题是,我的垂直可滚动功能似乎被禁用,因为我的可滚动布局已经具有该功能.我几乎无法在webview中上下滚动.Mapview也是如此.我只能使用水平手势放大和缩小.我想知道是否有任何方法只有当我放大/缩小,在mapview/webview中向上/向下滚动时才能禁用滚动功能.非常感谢.

Har*_*dik 5

WebView wv = (WebView)findViewById(R.id.myWebView);  // your webView inside scrollview
wv.setOnTouchListener(new WebView.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int action = event.getAction();
            switch (action) {
            case MotionEvent.ACTION_DOWN:
                // Disallow ScrollView to intercept touch events.
                v.getParent().requestDisallowInterceptTouchEvent(true);
                break;

            case MotionEvent.ACTION_UP:
                // Allow ScrollView to intercept touch events.
                v.getParent().requestDisallowInterceptTouchEvent(false);
                break;
            }

            // Handle ListView touch events.
            v.onTouchEvent(event);
            return true;
        }
    });
Run Code Online (Sandbox Code Playgroud)

并做同样的MapView工作..

你可以在片段中使用mapview它也支持map v2.

它是官方的,请参阅此https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/MapView