Fix ScrollWebView (#2333)

#777
This commit is contained in:
南宫雪珊 2023-01-16 05:00:10 +08:00 committed by GitHub
parent 46295297d7
commit 878d8ea22d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 4 deletions

View File

@ -29,8 +29,9 @@ import android.webkit.WebView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.view.ScrollingView;
import androidx.viewpager2.widget.ViewPager2;
import androidx.recyclerview.widget.RecyclerView;
import rikka.widget.borderview.BorderRecyclerView;
public class ScrollWebView extends WebView {
public ScrollWebView(@NonNull Context context) {
@ -61,7 +62,7 @@ public class ScrollWebView extends WebView {
@Override
protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY) {
if (clampedX || clampedY) {
if (clampedX) {
var viewParent = findViewParentIfNeeds(this);
if (viewParent != null) viewParent.requestDisallowInterceptTouchEvent(false);
}
@ -71,7 +72,7 @@ public class ScrollWebView extends WebView {
private static ViewParent findViewParentIfNeeds(View v) {
var parent = v.getParent();
if (parent == null) return null;
if (parent instanceof ViewPager2 || parent instanceof ScrollingView) {
if (parent instanceof RecyclerView && !(parent instanceof BorderRecyclerView)) {
return parent;
} else if (parent instanceof View) {
return findViewParentIfNeeds((View) parent);