From 2c7aa63f58848cf7f4f511d253946e10bc919ccd Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Tue, 11 Nov 2025 22:36:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BC=AB=E7=94=BB=E8=83=8C=E6=99=AF=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=20#270?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/legado/app/data/entities/Book.kt | 3 ++- .../app/ui/book/manga/ReadMangaActivity.kt | 22 ++++++++++++++++--- .../manga/config/MangaFooterSettingDialog.kt | 19 ++++++++++++++++ .../io/legado/app/ui/book/read/MangaMenu.kt | 1 + .../layout/dialog_manga_footer_setting.xml | 11 +++++++++- 5 files changed, 51 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/io/legado/app/data/entities/Book.kt b/app/src/main/java/io/legado/app/data/entities/Book.kt index 198a2c782..53f5b5b4b 100644 --- a/app/src/main/java/io/legado/app/data/entities/Book.kt +++ b/app/src/main/java/io/legado/app/data/entities/Book.kt @@ -411,7 +411,8 @@ data class Book( val mangaColorFilter: String? = null, var mangaScrollMode: Int? = null, - var webtoonSidePaddingDp: Int? = null + var webtoonSidePaddingDp: Int? = null, + var mangaBackground: String? = null ) : Parcelable 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 d2cee5537..3a1963b6a 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 @@ -13,6 +13,7 @@ import android.view.animation.LinearInterpolator import androidx.activity.addCallback import androidx.activity.viewModels import androidx.appcompat.app.AlertDialog +import androidx.core.graphics.toColorInt import androidx.core.view.doOnLayout import androidx.core.view.isGone import androidx.core.view.isVisible @@ -25,6 +26,7 @@ import com.bumptech.glide.request.target.Target.SIZE_ORIGINAL import com.bumptech.glide.util.FixedPreloadSizeProvider import com.google.android.material.transition.platform.MaterialContainerTransform import com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback +import com.jaredrummler.android.colorpicker.ColorPickerDialogListener import io.legado.app.BuildConfig import io.legado.app.R import io.legado.app.base.VMBaseActivity @@ -52,6 +54,7 @@ import io.legado.app.ui.book.manga.config.MangaClickActionConfigDialog import io.legado.app.ui.book.manga.config.MangaColorFilterConfig import io.legado.app.ui.book.manga.config.MangaColorFilterDialog import io.legado.app.ui.book.manga.config.MangaFooterSettingDialog +import io.legado.app.ui.book.manga.config.MangaFooterSettingDialog.Companion.MANGA_B import io.legado.app.ui.book.manga.config.MangaScrollMode import io.legado.app.ui.book.manga.entities.BaseMangaPage import io.legado.app.ui.book.manga.entities.MangaFooterConfig @@ -88,7 +91,7 @@ import kotlin.math.ceil class ReadMangaActivity : VMBaseActivity(), ReadManga.Callback, ChangeBookSourceDialog.CallBack, MangaMenu.CallBack, MangaColorFilterDialog.Callback, ScrollTimer.ScrollCallback, MangaFooterSettingDialog.Callback, - MangaAutoReadDialog.Callback { + MangaAutoReadDialog.Callback, ColorPickerDialogListener { private val mLayoutManager by lazy { MangaLayoutManager(this) @@ -300,8 +303,7 @@ class ReadMangaActivity : VMBaseActivity(AppConfig.mangaFooterConfig).getOrNull() ?: MangaFooterConfig() @@ -62,6 +70,17 @@ class MangaFooterSettingDialog : }) } + binding.btnBackgroundColor.color = AppConfig.mangaBackground + binding.btnBackgroundColor.setOnClickListener { + dismiss() + ColorPickerDialog.newBuilder() + .setColor(AppConfig.mangaBackground) + .setShowAlphaSlider(false) + .setDialogType(ColorPickerDialog.TYPE_CUSTOM) + .setDialogId(MANGA_B) + .show(requireActivity()) + } + binding.llWebtoon.isVisible = initialScrollMode == MangaScrollMode.WEBTOON || initialScrollMode == MangaScrollMode.WEBTOON_WITH_GAP diff --git a/app/src/main/java/io/legado/app/ui/book/read/MangaMenu.kt b/app/src/main/java/io/legado/app/ui/book/read/MangaMenu.kt index 57443348f..2f3de9d42 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/MangaMenu.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/MangaMenu.kt @@ -243,6 +243,7 @@ class MangaMenu @JvmOverloads constructor( ivSetting.setOnClickListener { callBack.showFooterConfig() + runMenuOut() } btnAutoPage.setOnClickListener { 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 afa074d72..fffc23ac5 100644 --- a/app/src/main/res/layout/dialog_manga_footer_setting.xml +++ b/app/src/main/res/layout/dialog_manga_footer_setting.xml @@ -62,7 +62,6 @@ android:orientation="horizontal" android:paddingHorizontal="16dp" android:singleLine="false" - app:chipSpacingVertical="0dp" app:selectionRequired="true" app:singleSelection="true" /> @@ -166,6 +165,7 @@ + +