From 9ff3e8a09fc9646b92e6b599a4cb5638eb1b4641 Mon Sep 17 00:00:00 2001 From: towserpai Date: Sat, 29 Jul 2023 01:31:35 +0000 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=88=B6=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E6=98=AFViewPager=E6=97=B6=E6=97=A0=E6=B3=95=E6=BB=91=E5=8A=A8?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../widget/PagerGridLayoutManager.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/PagerLayoutManager/pagerlayoutmanager/src/main/java/com/gcssloop/widget/PagerGridLayoutManager.java b/PagerLayoutManager/pagerlayoutmanager/src/main/java/com/gcssloop/widget/PagerGridLayoutManager.java index f248714..96a667a 100644 --- a/PagerLayoutManager/pagerlayoutmanager/src/main/java/com/gcssloop/widget/PagerGridLayoutManager.java +++ b/PagerLayoutManager/pagerlayoutmanager/src/main/java/com/gcssloop/widget/PagerGridLayoutManager.java @@ -905,4 +905,39 @@ public interface PageListener { */ void onPageSelect(int pageIndex); } + + // region 解决嵌套滑动冲突 + + @Override + public int computeHorizontalScrollOffset(@NonNull RecyclerView.State state) { + return offsetX; + } + + @Override + public int computeHorizontalScrollRange(@NonNull RecyclerView.State state) { + return mMaxScrollX + getUsableWidth(); + } + + @Override + public int computeHorizontalScrollExtent(@NonNull RecyclerView.State state) { + return getUsableWidth(); + } + + @Override + public int computeVerticalScrollOffset(@NonNull RecyclerView.State state) { + return offsetY; + } + + @Override + public int computeVerticalScrollRange(@NonNull RecyclerView.State state) { + return mMaxScrollY + getUsableHeight(); + } + + @Override + public int computeVerticalScrollExtent(@NonNull RecyclerView.State state) { + return getUsableHeight(); + } + + // endregion + } \ No newline at end of file