From e6b6088ad926ea386437e5e85da8aca61b6a66e8 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Wed, 22 Oct 2025 20:07:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=85=E8=AF=BB=E8=BF=9B=E5=BA=A6=E6=9D=A1?= =?UTF-8?q?=E5=BC=80=E5=85=B3=20#125?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/legato/kazusa/ui/book/read/ReadMenu.kt | 29 +++++++++++++------ .../read/config/ToolButtonConfigDialog.kt | 4 ++- .../res/layout/dialog_tool_button_config.xml | 3 +- app/src/main/res/layout/view_read_menu.xml | 4 +-- app/src/main/res/values-zh/strings.xml | 2 +- 5 files changed, 28 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/ReadMenu.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/ReadMenu.kt index ffc02e0a2..639acbf68 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/ReadMenu.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/ReadMenu.kt @@ -11,6 +11,7 @@ import android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE import android.view.animation.AlphaAnimation import android.view.animation.Animation import android.widget.FrameLayout +import android.widget.LinearLayout import android.widget.SeekBar import androidx.appcompat.widget.PopupMenu import androidx.core.graphics.ColorUtils @@ -18,6 +19,7 @@ import androidx.core.view.isGone import androidx.core.view.isVisible import com.google.android.material.button.MaterialButton import com.google.android.material.button.MaterialButtonGroup +import com.google.android.material.overflow.OverflowLinearLayout import com.google.android.material.slider.Slider import io.legato.kazusa.R import io.legato.kazusa.constant.PreferKey @@ -37,7 +39,6 @@ import io.legato.kazusa.utils.activity import io.legato.kazusa.utils.applyNavigationBarPadding import io.legato.kazusa.utils.dpToPx import io.legato.kazusa.utils.getPrefBoolean -import io.legato.kazusa.utils.getPrefString import io.legato.kazusa.utils.gone import io.legato.kazusa.utils.invisible import io.legato.kazusa.utils.loadAnimation @@ -515,6 +516,7 @@ class ReadMenu @JvmOverloads constructor( tooltipText = btn.description strokeWidth = 0 iconGravity = MaterialButton.ICON_GRAVITY_TEXT_START + maxLines = 1 setOnClickListener { btn.onClick() } btn.onLongClick?.let { longAction -> setOnLongClickListener { @@ -523,15 +525,12 @@ class ReadMenu @JvmOverloads constructor( } } } - group.addView(button, - MaterialButtonGroup.LayoutParams( - LayoutParams.WRAP_CONTENT, - LayoutParams.WRAP_CONTENT - ).apply { - weight = 1f - } + group.addView( + button, + OverflowLinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f) ) - val lp = button.layoutParams as MaterialButtonGroup.LayoutParams + val lp = + button.layoutParams as MaterialButtonGroup.LayoutParams lp.overflowText = btn.description buttonMap[btn.id] = button } @@ -587,6 +586,18 @@ class ReadMenu @JvmOverloads constructor( if (AppConfig.isNightTheme) R.drawable.ic_daytime else R.drawable.ic_brightness ) } + ), + ToolButton( + id = "prev_chapter", + iconRes = R.drawable.ic_previous, + description = context.getString(R.string.previous_chapter), + onClick = { ReadBook.moveToPrevChapter(upContent = true, toLast = false) } + ), + ToolButton( + id = "next_chapter", + iconRes = R.drawable.ic_next, + description = context.getString(R.string.next_chapter), + onClick = { ReadBook.moveToNextChapter(true) } ) ) } diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/config/ToolButtonConfigDialog.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/config/ToolButtonConfigDialog.kt index 896d525e4..46754ef5a 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/config/ToolButtonConfigDialog.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/config/ToolButtonConfigDialog.kt @@ -114,7 +114,7 @@ class ToolButtonConfigDialog : BaseBottomSheetDialogFragment(R.layout.dialog_too } private fun getAllButtonIds(): List { - return listOf("search", "auto_page", "catalog", "read_aloud", "setting", "addBookmark", "theme") + return listOf("search", "auto_page", "catalog", "read_aloud", "setting", "addBookmark", "theme", "prev_chapter", "next_chapter") } private fun getButtonInfo(id: String): Pair { @@ -126,6 +126,8 @@ class ToolButtonConfigDialog : BaseBottomSheetDialogFragment(R.layout.dialog_too "setting" -> R.drawable.ic_settings to getString(R.string.setting) "addBookmark" -> R.drawable.ic_bookmark to getString(R.string.bookmark) "theme" -> R.drawable.ic_daytime to getString(R.string.day_night_switch) + "prev_chapter" -> R.drawable.ic_previous to getString(R.string.previous_chapter) + "next_chapter" -> R.drawable.ic_next to getString(R.string.next_chapter) else -> R.drawable.ic_help to id } } diff --git a/app/src/main/res/layout/dialog_tool_button_config.xml b/app/src/main/res/layout/dialog_tool_button_config.xml index 5ae146050..bab81898a 100644 --- a/app/src/main/res/layout/dialog_tool_button_config.xml +++ b/app/src/main/res/layout/dialog_tool_button_config.xml @@ -33,7 +33,8 @@ + android:layout_height="0dp" + android:layout_weight="1" /> + android:background="?attr/colorSurfaceContainer" /> diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 403b04745..ed8d04460 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1300,7 +1300,7 @@ 此更改需要重启应用才能生效,是否立即重启? 更改将在下次启动应用时生效 选择书源分组 - 深浅色模式开关 + 深浅色模式切换 长按保存图片 长按设置为全局默认模式 滑动条显示样式