From 11c33de8d280e538381d9e0407fc333faf5d7dfb Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Tue, 20 Jan 2026 16:40:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20#5664?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manga/recyclerview/WebtoonRecyclerView.kt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/manga/recyclerview/WebtoonRecyclerView.kt b/app/src/main/java/io/legado/app/ui/book/manga/recyclerview/WebtoonRecyclerView.kt index 0d1e10d8c..fa83e9d79 100644 --- a/app/src/main/java/io/legado/app/ui/book/manga/recyclerview/WebtoonRecyclerView.kt +++ b/app/src/main/java/io/legado/app/ui/book/manga/recyclerview/WebtoonRecyclerView.kt @@ -61,10 +61,15 @@ class WebtoonRecyclerView @JvmOverloads constructor( override fun onScrolled(dx: Int, dy: Int) { super.onScrolled(dx, dy) - val layoutManager = layoutManager - lastVisibleItemPosition = - (layoutManager as LinearLayoutManager).findLastVisibleItemPosition() + val layoutManager = layoutManager as LinearLayoutManager + lastVisibleItemPosition = layoutManager.findLastVisibleItemPosition() firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition() + + val position = findCenterViewPosition() + if (position != NO_POSITION && position != mLastCenterViewPosition) { + mLastCenterViewPosition = position + mPreScrollListener?.onPreScrollListener(this, dx, dy, position) + } } override fun onScrollStateChanged(state: Int) { @@ -84,10 +89,6 @@ class WebtoonRecyclerView @JvmOverloads constructor( type: Int ): Boolean { val position = findCenterViewPosition() - if (position != NO_POSITION && position != mLastCenterViewPosition) { - mLastCenterViewPosition = position - mPreScrollListener?.onPreScrollListener(this, dx, dy, position) - } mNestedPreScrollListener?.onPreScrollListener(this, dx, dy, position) return super.dispatchNestedPreScroll(dx, dy, consumed, offsetInWindow, type) }