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 @@ + +