我在以下方面找到了类似的接受答案: 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);
}
});
但接受的答案并不能满足我的要求,因为视频&音频进度条的触摸移动事件也被禁用(嵌入我的WebView),因此我无法拖动进度条。
还有另一种解决方法吗?期待你的回复!谢谢!
答案 0 :(得分: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);
}
}