Android Scroll和Webview滚动

时间:2016-07-21 07:08:15

标签: android scroll webview android-webview

我正在实施一个应用程序。

在一个屏幕上有webview +其他内容,活动布局已启用滚动。

当我在webview中打开页面时,如果还启用了滚动,那么它将失败。

原生(android滚动)覆盖webview滚动,我无法滚动到webview。那么有什么方法可以解决这个问题吗?

我添加了以下webview设置

webview.setVisibility(View.VISIBLE);
webview.setVerticalScrollBarEnabled(true);
webview.setHorizontalScrollBarEnabled(true);
webview.getSettings().setBuiltInZoomControls(true);
webview.setWebViewClient(new WebViewClient() );
webview.loadUrl(strUrl);
webview.getSettings().setJavaScriptEnabled(true);

2 个答案:

答案 0 :(得分:1)

如果将固定高度设置为webview,则可以将滚动视图与Web视图一起使用。否则没有任何其他选项可以在滚动视图中使用webview做好工作

答案 1 :(得分:0)

创建自定义ScrollView并尝试拦截孩子的触摸,这是您的WebView

 public class CustomScrollView extends ScrollView {
    private GestureDetector mGestureDetector;

    public CustomScrollView(Context context, AttributeSet attrs) {
        super(context, attrs);
        mGestureDetector = new GestureDetector(context, new YScrollDetector());
        setFadingEdgeLength(0);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        return super.onInterceptTouchEvent(ev) && mGestureDetector.onTouchEvent(ev);
    }

    // Return false if we're scrolling in the x direction  
    class YScrollDetector extends SimpleOnGestureListener {
        @Override
        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {             
            return Math.abs(distanceY) > Math.abs(distanceX);
        }
    }
}