From c9708d36a1149476dd315afccf275655a4431cc8 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Sun, 9 Nov 2025 02:22:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BC=AB=E7=94=BB=E6=96=B0=E5=A2=9E=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=9A=E7=82=B9=E5=87=BB=E7=BF=BB=E9=A1=B5=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=E3=80=81=E5=8A=A0=E8=BD=BD=E6=B8=90=E5=8F=98=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=E5=BC=80=E5=85=B3=20#240=E3=80=81#254?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/constant/PreferKey.kt | 6 ++++- .../io/legado/app/help/config/AppConfig.kt | 12 ++++++++++ .../java/io/legado/app/model/BookCover.kt | 22 +++++++++++-------- .../app/ui/book/manga/ReadMangaActivity.kt | 14 +++++++++++- .../manga/config/MangaFooterSettingDialog.kt | 16 ++++++++++++++ .../layout/dialog_manga_footer_setting.xml | 13 +++++++++++ .../res/layout/dialog_read_book_style.xml | 3 ++- .../main/res/layout/item_book_manga_page.xml | 5 ++--- app/src/main/res/layout/view_manga_menu.xml | 2 ++ app/src/main/res/values-zh/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ 11 files changed, 82 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/io/legado/app/constant/PreferKey.kt b/app/src/main/java/io/legado/app/constant/PreferKey.kt index 749ef7add..de647f213 100644 --- a/app/src/main/java/io/legado/app/constant/PreferKey.kt +++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt @@ -211,5 +211,9 @@ object PreferKey { const val systemMediaControlCompatibilityChange = "systemMediaControlCompatibilityChange" const val isPredictiveBackEnabled = "isPredictiveBackEnabled" const val replaceSortMode = "desc" - const val readBarStyle = "0" + const val readBarStyle = "readBarStyle" + //我在干什么 + + const val disableMangaScrollAnimation = "disableMangaScrollAnimation" + const val disableMangaCrossFade = "disableMangaCrossFade" } diff --git a/app/src/main/java/io/legado/app/help/config/AppConfig.kt b/app/src/main/java/io/legado/app/help/config/AppConfig.kt index 655f56eac..b6eec6115 100644 --- a/app/src/main/java/io/legado/app/help/config/AppConfig.kt +++ b/app/src/main/java/io/legado/app/help/config/AppConfig.kt @@ -722,6 +722,18 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { appCtx.putPrefBoolean(PreferKey.disableMangaScale, value) } + var disableMangaScrollAnimation: Boolean + get() = appCtx.getPrefBoolean(PreferKey.disableMangaScrollAnimation, false) + set(value) { + appCtx.putPrefBoolean(PreferKey.disableMangaScrollAnimation, value) + } + + var disableMangaCrossFade: Boolean + get() = appCtx.getPrefBoolean(PreferKey.disableMangaCrossFade, false) + set(value) { + appCtx.putPrefBoolean(PreferKey.disableMangaCrossFade, value) + } + //漫画预加载数量 var mangaPreDownloadNum get() = appCtx.getPrefInt(PreferKey.mangaPreDownloadNum, 10) diff --git a/app/src/main/java/io/legado/app/model/BookCover.kt b/app/src/main/java/io/legado/app/model/BookCover.kt index 1a5084acd..51d255508 100644 --- a/app/src/main/java/io/legado/app/model/BookCover.kt +++ b/app/src/main/java/io/legado/app/model/BookCover.kt @@ -147,20 +147,24 @@ object BookCover { if (sourceOrigin != null) { options = options.set(OkHttpModelLoader.sourceOriginOption, sourceOrigin) } - return ImageLoader.load(context, path) + var builder = ImageLoader.load(context, path) .apply(options) .override(context.resources.displayMetrics.widthPixels, SIZE_ORIGINAL) .diskCacheStrategy(DiskCacheStrategy.ALL) - .skipMemoryCache(true).let { - if (transformation != null) { - it.transform(transformation) - } else { - it - } - } - .transition(DrawableTransitionOptions.withCrossFade()) + .skipMemoryCache(true) + if (transformation != null) { + builder = builder.transform(transformation) + } + builder = if (AppConfig.disableMangaCrossFade) { + builder + } else { + builder.transition(DrawableTransitionOptions.withCrossFade()) + } + + return builder } + fun preloadManga( context: Context, path: String?, 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 9f8d99c4b..d2cee5537 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 @@ -635,6 +635,14 @@ class ReadMangaActivity : VMBaseActivity + callback?.onScrollAniDisabledChanged(isChecked) + } + } + + binding.checkboxMangaCrossFade.apply { + isChecked = AppConfig.disableMangaCrossFade + setOnCheckedChangeListener { _, isChecked -> + callback?.onCrossFadeDisabledChanged(isChecked) + } + } + binding.checkboxDisableMangaScale.apply { isChecked = AppConfig.disableMangaScale setOnCheckedChangeListener { _, isChecked -> @@ -265,6 +279,8 @@ class MangaFooterSettingDialog : fun onScrollModeChanged(mode: Int) fun upSidePadding(padding: Int) fun onClickScrollDisabledChanged(disabled: Boolean) + fun onScrollAniDisabledChanged(disabled: Boolean) + fun onCrossFadeDisabledChanged(disabled: Boolean) fun onMangaScaleDisabledChanged(disabled: Boolean) fun onHideMangaTitleChanged(hide: Boolean) fun onVolumeKeyPageChanged(enable: Boolean) diff --git a/app/src/main/res/layout/dialog_manga_footer_setting.xml b/app/src/main/res/layout/dialog_manga_footer_setting.xml index d1c6813eb..afa074d72 100644 --- a/app/src/main/res/layout/dialog_manga_footer_setting.xml +++ b/app/src/main/res/layout/dialog_manga_footer_setting.xml @@ -250,6 +250,12 @@ android:layout_height="wrap_content" android:text="@string/disable_manga_scale" /> + + + + + + app:indicatorSize="64dp" + android:layout_gravity="center" /> @@ -113,6 +114,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/Widget.Material3Expressive.Button.IconButton.Tonal" + app:backgroundTint="?attr/colorSurfaceContainer" app:icon="@drawable/ic_next" tools:ignore="TouchTargetSizeCheck" /> diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 4b00ce64c..398bb5669 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1335,4 +1335,6 @@ 字体样式 阴影样式 长按自定义 + 禁用翻页动画 + 禁用加载淡入动画 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1ee291464..3644e915b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1336,4 +1336,6 @@ 字体样式 阴影样式 长按自定义 + 禁用翻页动画 + 禁用加载淡入动画