From ae7ef9b95c62e7fc76217e1c4fa77e3e6d1d905f Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Fri, 3 Nov 2023 16:16:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/ui/book/read/ReadBookActivity.kt | 3 +++ .../java/io/legado/app/ui/book/read/page/ContentTextView.kt | 4 ++-- app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt | 3 +-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt index 215bc643a..e75917053 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt @@ -976,6 +976,9 @@ class ReadBookActivity : BaseReadBookActivity(), if (menuLayoutIsVisible) { return } + if (binding.readView.run { isScroll && pageDelegate?.isRunning == true }) { + return + } val readTime = ReadBookConfig.autoReadSpeed * 1000.0 val height = binding.readView.height val scrollOffset = (height / readTime * frameTime).toInt().coerceAtLeast(1) diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt b/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt index 92dd3b670..642507464 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/ContentTextView.kt @@ -288,14 +288,14 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at val offset = (ChapterProvider.visibleHeight - textPage.height).toInt() pageOffset = min(0, offset) } else if (pageOffset > 0) { - pageFactory.moveToPrev(false) + pageFactory.moveToPrev(true) textPage = pageFactory.curPage pageOffset -= textPage.height.toInt() upView?.invoke(textPage) contentDescription = textPage.text } else if (pageOffset < -textPage.height) { pageOffset += textPage.height.toInt() - pageFactory.moveToNext(false) + pageFactory.moveToNext(true) textPage = pageFactory.curPage upView?.invoke(textPage) contentDescription = textPage.text diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt b/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt index dc7496fa9..f87fb346f 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/ReadView.kt @@ -526,12 +526,11 @@ class ReadView(context: Context, attrs: AttributeSet) : if (isScroll && !callBack.isAutoPage) { curPage.setContent(pageFactory.curPage, resetPageOffset) } else { - curPage.resetPageOffset() when (relativePosition) { -1 -> prevPage.setContent(pageFactory.prevPage) 1 -> nextPage.setContent(pageFactory.nextPage) else -> { - curPage.setContent(pageFactory.curPage) + curPage.setContent(pageFactory.curPage, resetPageOffset) nextPage.setContent(pageFactory.nextPage) prevPage.setContent(pageFactory.prevPage) }