设置Android控件WebView不可滑动

下面两种方式都可以实现,希望对志同道合的搬砖者们有帮助,亲测有效!

方式一:原生控件WebView

xml文件:

Java代码:

WebView webView = (WebView) findViewById(R.id.web_view_prize);
// 使WebView不可滚动
webView.setOnTouchListener((v, event) -> (event.getAction() == MotionEvent.ACTION_MOVE));
webView.loadUrl(GlobalVar.WEB_VIEW_PRIZE_IMG);

方式二:自定义WebView

xml文件:

自定义WebView:

public class ImageWebView extends WebView {
    public ImageWebView(Context context) {
        super(context);
    }

    public ImageWebView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public ImageWebView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY,
                                int scrollRangeX, int scrollRangeY, int maxOverScrollX,
                                int maxOverScrollY, boolean isTouchEvent) {
        return false;
    }

    /**
     * 使WebView不可滚动
     */
    @Override
    public void scrollTo(int x, int y) {
        super.scrollTo(0, 0);
    }
}

来自大佬补充:

https://me.csdn.net/u011246046

方式一:是将整个页面的以及控件的滚动事件给禁止了;

方式二:只是禁止了webview的页面滚动事件禁止了,但里面的控件的事件滚动没有禁止。

你可能感兴趣的:(Android)