From b9ce68d4c591082875b92badd6a07f2e4839bb6d Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Tue, 18 Mar 2025 12:53:56 +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 --- .../app/ui/book/manga/ReadMangaActivity.kt | 52 ++++++++----------- .../book/manga/recyclerview/MangaAdapter.kt | 7 ++- .../book/manga/recyclerview/WebtoonFrame.kt | 6 +-- app/src/main/res/menu/book_manga.xml | 4 +- 4 files changed, 30 insertions(+), 39 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt b/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt index c66bc3f45..51f6d96a7 100644 --- a/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt @@ -78,12 +78,7 @@ class ReadMangaActivity : VMBaseActivity if (mAdapter.isNotEmpty()) { val item = mAdapter.getItem(position) @@ -224,7 +217,6 @@ class ReadMangaActivity : VMBaseActivity { + R.id.menu_disable_click_scroll -> { item.isChecked = !item.isChecked AppConfig.disableClickScroll = item.isChecked - disabledClickScroller(item.isChecked) + disabledClickScroll(item.isChecked) } R.id.menu_enable_auto_page -> { @@ -522,13 +514,10 @@ class ReadMangaActivity : VMBaseActivity { + R.id.menu_enable_horizontal_scroll -> { item.isChecked = !item.isChecked AppConfig.enableMangaHorizontalScroll = item.isChecked - mLayoutManager.orientation = - if (item.isChecked) LinearLayoutManager.HORIZONTAL else LinearLayoutManager.VERTICAL - singlePagerScroller(item.isChecked) - mAdapter.isHorizontal = item.isChecked + setHorizontalScroll(item.isChecked) mAdapter.notifyDataSetChanged() } @@ -571,7 +560,7 @@ class ReadMangaActivity : VMBaseActivity { - if (getItems().isEmpty()) return Collections.emptyList() - if (position >= getItems().size) return Collections.emptyList() + override fun getPreloadItems(position: Int): List { + if (isEmpty()) return emptyList() + if (position >= getItems().size) return emptyList() return getItems().subList(position, position + 1) } diff --git a/app/src/main/java/io/legado/app/ui/book/manga/recyclerview/WebtoonFrame.kt b/app/src/main/java/io/legado/app/ui/book/manga/recyclerview/WebtoonFrame.kt index b9a15e0a3..4284a5a23 100644 --- a/app/src/main/java/io/legado/app/ui/book/manga/recyclerview/WebtoonFrame.kt +++ b/app/src/main/java/io/legado/app/ui/book/manga/recyclerview/WebtoonFrame.kt @@ -45,7 +45,7 @@ class WebtoonFrame : FrameLayout { private var mPrevPage: (() -> Unit)? = null fun onPrevPage(init: () -> Unit) = apply { this.mPrevPage = init } - var disabledClickScroller = false + var disabledClickScroll = false override fun onAttachedToWindow() { super.onAttachedToWindow() @@ -55,11 +55,11 @@ class WebtoonFrame : FrameLayout { mTouchMiddle?.invoke() } - blRect.contains(ev.rawX, ev.rawY) && !disabledClickScroller -> { + blRect.contains(ev.rawX, ev.rawY) && !disabledClickScroll -> { mPrevPage?.invoke() } - brRect.contains(ev.rawX, ev.rawY) && !disabledClickScroller -> { + brRect.contains(ev.rawX, ev.rawY) && !disabledClickScroll -> { mNextPage?.invoke() } } diff --git a/app/src/main/res/menu/book_manga.xml b/app/src/main/res/menu/book_manga.xml index 4b626c5f2..9564faef3 100644 --- a/app/src/main/res/menu/book_manga.xml +++ b/app/src/main/res/menu/book_manga.xml @@ -38,7 +38,7 @@ app:showAsAction="never" />