From cd039751ce2ebb83e818822f0cccc995f5868152 Mon Sep 17 00:00:00 2001 From: kunfei Date: Sat, 20 May 2023 23:42:06 +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 --- .../java/io/legado/app/constant/PreferKey.kt | 1 + .../io/legado/app/help/config/AppConfig.kt | 6 ++++ .../io/legado/app/ui/book/read/ReadMenu.kt | 22 ++++++++++++++- .../io/legado/app/utils/ConstraintModify.kt | 13 +++++---- app/src/main/res/drawable/ic_swap_horiz.xml | 10 +++++++ app/src/main/res/layout/view_read_menu.xml | 28 +++++++++++++++---- app/src/main/res/values-es-rES/strings.xml | 1 + app/src/main/res/values-ja-rJP/strings.xml | 1 + app/src/main/res/values-pt-rBR/strings.xml | 1 + app/src/main/res/values-zh-rHK/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values-zh/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 13 files changed, 74 insertions(+), 13 deletions(-) create mode 100644 app/src/main/res/drawable/ic_swap_horiz.xml 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 069ed7b99..47a5c7c64 100644 --- a/app/src/main/java/io/legado/app/constant/PreferKey.kt +++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt @@ -128,6 +128,7 @@ object PreferKey { const val showLastUpdateTime = "showLastUpdateTime" const val clearWebViewData = "clearWebViewData" const val onlyLatestBackup = "onlyLatestBackup" + const val brightnessVwPos = "brightnessVwPos" const val cPrimary = "colorPrimary" const val cAccent = "colorAccent" 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 b00b5f496..dec18efa9 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 @@ -451,6 +451,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { appCtx.putPrefBoolean(PreferKey.audioPlayWakeLock, value) } + var brightnessVwPos: Boolean + get() = appCtx.getPrefBoolean(PreferKey.brightnessVwPos) + set(value) { + appCtx.putPrefBoolean(PreferKey.brightnessVwPos, value) + } + fun detectClickArea() { if (clickActionTL * clickActionTC * clickActionTR * clickActionML * clickActionMC * clickActionMR diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt index 79b06fcbf..be737de2d 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt @@ -16,6 +16,7 @@ import android.view.animation.Animation import android.widget.FrameLayout import android.widget.SeekBar import androidx.appcompat.widget.PopupMenu +import androidx.constraintlayout.widget.ConstraintSet import androidx.core.view.isGone import androidx.core.view.isVisible import io.legado.app.R @@ -208,6 +209,7 @@ class ReadMenu @JvmOverloads constructor( } else { titleBarAddition.gone() } + upBrightnessVwPos() } fun reset() { @@ -366,7 +368,10 @@ class ReadMenu @JvmOverloads constructor( } }) - + vwBrightnessPosAdjust.setOnClickListener { + AppConfig.brightnessVwPos = !AppConfig.brightnessVwPos + upBrightnessVwPos() + } //阅读进度 seekReadPage.setOnSeekBarChangeListener(object : SeekBarChangeListener { @@ -492,6 +497,7 @@ class ReadMenu @JvmOverloads constructor( progress = ReadBook.durPageIndex } } + "chapter" -> { max = ReadBook.chapterSize - 1 progress = ReadBook.durChapterIndex @@ -515,6 +521,20 @@ class ReadMenu @JvmOverloads constructor( fabAutoPage.setColorFilter(textColor) } + private fun upBrightnessVwPos() { + if (AppConfig.brightnessVwPos) { + binding.root.modify() + .clear(R.id.ll_brightness, ConstraintSet.LEFT) + .rightToRightOf(R.id.ll_brightness, R.id.vw_menu_root) + .commit() + } else { + binding.root.modify() + .clear(R.id.ll_brightness, ConstraintSet.RIGHT) + .leftToLeftOf(R.id.ll_brightness, R.id.vw_menu_root) + .commit() + } + } + interface CallBack { fun autoPage() fun openReplaceRule() diff --git a/app/src/main/java/io/legado/app/utils/ConstraintModify.kt b/app/src/main/java/io/legado/app/utils/ConstraintModify.kt index 7a6291bfe..286a58c1b 100644 --- a/app/src/main/java/io/legado/app/utils/ConstraintModify.kt +++ b/app/src/main/java/io/legado/app/utils/ConstraintModify.kt @@ -18,9 +18,8 @@ fun ConstraintLayout.modify(withAnim: Boolean = false): ConstraintModify.Constra class ConstraintModify(private val constraintLayout: ConstraintLayout) { val begin: ConstraintBegin by lazy { - ConstraintBegin(constraintLayout, applyConstraintSet).apply { - applyConstraintSet.clone(constraintLayout) - } + applyConstraintSet.clone(constraintLayout) + ConstraintBegin(constraintLayout, applyConstraintSet) } private val applyConstraintSet = ConstraintSet() private val resetConstraintSet = ConstraintSet() @@ -75,8 +74,8 @@ class ConstraintModify(private val constraintLayout: ConstraintLayout) { /** * 清除某个控件的,某个关系 - * @param viewId - * @param anchor + * @param viewId 控件ID + * @param anchor 要解除的关系 * @return */ fun clear(viewId: Int, anchor: Int): ConstraintBegin { @@ -275,7 +274,9 @@ class ConstraintModify(private val constraintLayout: ConstraintLayout) { * 提交应用生效 */ fun commit() { - applyConstraintSet.applyTo(constraintLayout) + constraintLayout.post { + applyConstraintSet.applyTo(constraintLayout) + } } } diff --git a/app/src/main/res/drawable/ic_swap_horiz.xml b/app/src/main/res/drawable/ic_swap_horiz.xml new file mode 100644 index 000000000..8d80d0b55 --- /dev/null +++ b/app/src/main/res/drawable/ic_swap_horiz.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/view_read_menu.xml b/app/src/main/res/layout/view_read_menu.xml index 94a365804..cc4f50b49 100644 --- a/app/src/main/res/layout/view_read_menu.xml +++ b/app/src/main/res/layout/view_read_menu.xml @@ -2,6 +2,7 @@ @@ -73,10 +74,11 @@ android:id="@+id/ll_brightness" android:layout_width="wrap_content" android:layout_height="0dp" - android:layout_marginLeft="16dp" + android:layout_marginHorizontal="16dp" android:layout_marginTop="16dp" android:gravity="center_horizontal" android:orientation="vertical" + android:background="@color/transparent30" app:layout_constraintBottom_toTopOf="@+id/bottom_menu" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintTop_toBottomOf="@+id/title_bar" @@ -93,7 +95,8 @@ + android:layout_height="0dp" + android:layout_weight="1"> + + + android:paddingBottom="7dp" + tools:ignore="VisualLintBounds"> + android:paddingBottom="7dp" + tools:ignore="VisualLintBounds"> + android:paddingBottom="7dp" + tools:ignore="VisualLintBounds"> + android:paddingBottom="7dp" + tools:ignore="VisualLintBounds"> Cargar palabras del libro 排除范围,选填书名或者书源 URL 格式化规则(formatJs) + 调整位置 diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 20bb5a5cc..a3d2beb15 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -1106,4 +1106,5 @@ Load word count 排除范围,选填书名或者书源 URL 格式化规则(formatJs) + 调整位置 diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 7db389697..5d1ddc05d 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1106,4 +1106,5 @@ Carregar os palavras do livro 排除范围,选填书名或者书源 URL 格式化规则(formatJs) + 调整位置 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 6ee53f88d..0394474f2 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -1103,4 +1103,5 @@ 加載字數 排除范围,选填书名或者书源 URL 格式化规则(formatJs) + 调整位置 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index c03850f74..180d998c1 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1105,4 +1105,5 @@ 加載字數 排除范围,选填书名或者书源 URL 格式化规则(formatJs) + 调整位置 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 80b4d49b5..344b8228f 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1105,4 +1105,5 @@ 加载字数 排除范围,选填书名或者书源 URL 格式化规则(formatJs) + 调整位置 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8435551e1..cb06feb3e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1106,4 +1106,5 @@ Load word count 排除范围,选填书名或者书源 URL 格式化规则(formatJs) + 调整位置