From fb5e178678c5e5a74abe838890e0e7a63d2801ce Mon Sep 17 00:00:00 2001 From: du Date: Mon, 25 Oct 2021 11:36:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=BB=9A=E5=8A=A8=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E4=B8=8B=EF=BC=8C=E9=95=BF=E6=8C=89=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E9=94=99=E4=B9=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/ui/book/read/page/ContentTextView.kt | 2 +- .../main/java/io/legado/app/ui/book/read/page/PageView.kt | 4 ++++ .../main/java/io/legado/app/ui/book/read/page/ReadView.kt | 5 +++-- 3 files changed, 8 insertions(+), 3 deletions(-) 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 14e2f8f68..91e182c47 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 @@ -524,7 +524,7 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at } } - private fun relativePage(relativePos: Int): TextPage { + fun relativePage(relativePos: Int): TextPage { return when (relativePos) { 0 -> textPage 1 -> pageFactory.nextPage diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt b/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt index 2cc6c5b46..f838c3166 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt @@ -271,6 +271,10 @@ class PageView(context: Context) : FrameLayout(context) { return binding.contentTextView.createBookmark() } + fun relativePage(relativePos: Int): TextPage { + return binding.contentTextView.relativePage(relativePos) + } + val selectedText: String get() = binding.contentTextView.selectedText val textPage get() = binding.contentTextView.textPage 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 2fd5e12c9..0c05ae0b2 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 @@ -265,8 +265,9 @@ class ReadView(context: Context, attrs: AttributeSet) : */ private fun onLongPress() { kotlin.runCatching { - with(curPage.textPage) { - curPage.selectText(startX, startY) { relativePage, lineIndex, charIndex -> + curPage.selectText(startX, startY) { relativePage, lineIndex, charIndex -> + val page = if (isScroll) curPage.relativePage(relativePage) else curPage.textPage + with(page) { isTextSelected = true firstRelativePage = relativePage firstLineIndex = lineIndex