【问题标题】:How to disable scrolling Vertical & Horizontal in WebView? [duplicate]如何在 WebView 中禁用垂直和水平滚动? [复制]
【发布时间】:2015-05-06 02:30:39
【问题描述】:

我在以下位置找到了类似的接受答案: Disable scrolling in webview?

示例代码是:

// disable scroll on touch
webview.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return (event.getAction() == MotionEvent.ACTION_MOVE);
    }
});

但是accept的答案并不能满足我的要求,因为视音频进度条的触摸移动事件也被禁用(嵌入到我的WebView中),所以我无法拖动进度条。

没有其他方法可以解决这个问题吗?期待你的答复!谢谢!

【问题讨论】:

  • 在同一篇文章中还有更多答案 - 全部失败?
  • 谢谢提醒,一路试了,终于在底部找到了两条路。^^

标签: android scroll webview


【解决方案1】:

我在这个问题上一路尝试:Disable scrolling in webview?

最后我在底部找到了两条路:


第一个(由GDanger 回答):扩展WebView 并覆盖overScrollBy() 方法和return false

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

第二个(steelbytes 回答):覆盖 onScrollChanged() 方法。

@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
    if (bAllowScroll) {
        super.onScrollChanged(l, t, oldl, oldt);
    } else if (l! = 0 || t != 0) {
        super.scrollTo(0, 0);
    }
}

【讨论】:

    猜你喜欢
    • 2012-04-23
    • 1970-01-01
    • 2012-08-19
    • 2016-02-04
    • 2014-01-09
    • 1970-01-01
    • 2014-05-05
    • 2010-09-19
    • 1970-01-01
    相关资源
    最近更新 更多