Fixed original view scrolling issues

pull/212/head
M66B 1 year ago
parent dbd88712b7
commit 65caca4bab

@ -316,18 +316,20 @@ public class WebViewEx extends WebView implements DownloadListener, View.OnLongC
intercept = (yoff > 0 || dy >= 0) && (yoff < bottom || dy <= 0); intercept = (yoff > 0 || dy >= 0) && (yoff < bottom || dy <= 0);
} }
int xrange = computeHorizontalScrollRange(); if (!intercept) {
int xextend = computeHorizontalScrollExtent(); int xrange = computeHorizontalScrollRange();
boolean canScrollHorizontal = (xrange > xextend); int xextend = computeHorizontalScrollExtent();
if (canScrollHorizontal) { boolean canScrollHorizontal = (xrange > xextend);
int right = xrange - xextend; if (canScrollHorizontal) {
int xoff = computeHorizontalScrollOffset(); int right = xrange - xextend;
int ldx = xoff - lastXoff; int xoff = computeHorizontalScrollOffset();
float dx = lastX - event.getX(); int ldx = xoff - lastXoff;
intercept = (xoff > 0 || dx >= 0) && float dx = lastX - event.getX();
(xoff < right || dx <= 0) && intercept = (xoff > 0 || dx >= 0) &&
(Math.signum(dx) == Math.signum(ldx)); (xoff < right || dx <= 0) &&
lastXoff = xoff; (Math.signum(dx) == Math.signum(ldx));
lastXoff = xoff;
}
} }
} }
getParent().requestDisallowInterceptTouchEvent(intercept || event.getPointerCount() > 1); getParent().requestDisallowInterceptTouchEvent(intercept || event.getPointerCount() > 1);

Loading…
Cancel
Save