diff --git a/app/src/main/java/io/legato/kazusa/constant/PreferKey.kt b/app/src/main/java/io/legato/kazusa/constant/PreferKey.kt index b8bb55c22..a5d2749ab 100644 --- a/app/src/main/java/io/legato/kazusa/constant/PreferKey.kt +++ b/app/src/main/java/io/legato/kazusa/constant/PreferKey.kt @@ -204,4 +204,5 @@ object PreferKey { const val tabletInterface = "tabletInterface" const val pureBlack = "pure_black" const val labelVisibilityMode = "labelVisibilityMode" + const val menuAlpha = "menuAlpha" } diff --git a/app/src/main/java/io/legato/kazusa/help/config/AppConfig.kt b/app/src/main/java/io/legato/kazusa/help/config/AppConfig.kt index 01c5574ea..5198ab0a0 100644 --- a/app/src/main/java/io/legato/kazusa/help/config/AppConfig.kt +++ b/app/src/main/java/io/legato/kazusa/help/config/AppConfig.kt @@ -820,5 +820,11 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener { set(value) { appCtx.putPrefString(PreferKey.labelVisibilityMode, value) } + + var menuAlpha + get() = appCtx.getPrefInt(PreferKey.menuAlpha, 100) + set(value) { + appCtx.putPrefInt(PreferKey.menuAlpha, value) + } } 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 9a61bfe32..1e4b273e5 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 @@ -12,6 +12,7 @@ import android.view.animation.Animation import android.widget.FrameLayout import android.widget.SeekBar import androidx.appcompat.widget.PopupMenu +import androidx.core.graphics.ColorUtils import androidx.core.view.isGone import androidx.core.view.isVisible import com.google.android.material.button.MaterialButton @@ -181,7 +182,6 @@ class ReadMenu @JvmOverloads constructor( llBrightness.background = brightnessBackground if (AppConfig.isEInkMode) { titleBar.setBackgroundResource(R.drawable.bg_eink_border_bottom) - llBottomBg.setBackgroundResource(R.drawable.bg_eink_border_top) } else { //llBottomBg.setBackgroundColor(bgColor) } @@ -195,6 +195,11 @@ class ReadMenu @JvmOverloads constructor( } else { titleBarAddition.gone() } + val alpha = (AppConfig.menuAlpha / 100f * 255).toInt() + val color = context.themeColor(com.google.android.material.R.attr.colorSurfaceContainer) + titleBar.setBackgroundColor(ColorUtils.setAlphaComponent(color, alpha)) + bottomView.setBackgroundColor(ColorUtils.setAlphaComponent(color, alpha)) + llSlider.alpha = AppConfig.menuAlpha / 100f upBrightnessVwPos() /** * 确保视图不被导航栏遮挡 diff --git a/app/src/main/java/io/legato/kazusa/ui/book/read/config/MoreConfigDialog.kt b/app/src/main/java/io/legato/kazusa/ui/book/read/config/MoreConfigDialog.kt index 4dfe73338..c4145602c 100644 --- a/app/src/main/java/io/legato/kazusa/ui/book/read/config/MoreConfigDialog.kt +++ b/app/src/main/java/io/legato/kazusa/ui/book/read/config/MoreConfigDialog.kt @@ -50,6 +50,7 @@ class MoreConfigDialog : BaseBottomSheetDialogFragment(R.layout.dialog_more_conf @SuppressLint("RestrictedApi") override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_config_read) + upPreferenceSummary(PreferKey.menuAlpha, AppConfig.menuAlpha.toString()) upPreferenceSummary(PreferKey.pageTouchSlop, slopSquare.toString()) if (!CanvasRecorderFactory.isSupport) { removePref(PreferKey.optimizeRender) @@ -144,6 +145,19 @@ class MoreConfigDialog : BaseBottomSheetDialogFragment(R.layout.dialog_more_conf (activity as? ReadBookActivity)?.showClickRegionalConfig() } + PreferKey.menuAlpha -> { + NumberPickerDialog(requireContext()) + .setTitle(getString(R.string.menu_alpha)) + .setMaxValue(100) + .setMinValue(0) + .setValue(AppConfig.menuAlpha) + .show { + AppConfig.menuAlpha = it + upPreferenceSummary(PreferKey.menuAlpha, it.toString()) + postEvent(EventBus.UPDATE_READ_ACTION_BAR, true) + } + } + PreferKey.pageTouchSlop -> { NumberPickerDialog(requireContext()) .setTitle(getString(R.string.page_touch_slop_dialog_title)) @@ -163,6 +177,8 @@ class MoreConfigDialog : BaseBottomSheetDialogFragment(R.layout.dialog_more_conf private fun upPreferenceSummary(preferenceKey: String, value: String?) { val preference = findPreference(preferenceKey) ?: return when (preferenceKey) { + PreferKey.menuAlpha -> preference.summary = + getString(R.string.menu_alpha_sum, AppConfig.menuAlpha) PreferKey.pageTouchSlop -> preference.summary = getString(R.string.page_touch_slop_summary, value) } diff --git a/app/src/main/res/layout-land/view_read_menu.xml b/app/src/main/res/layout-land/view_read_menu.xml index d35be47a3..60ea1e9c4 100644 --- a/app/src/main/res/layout-land/view_read_menu.xml +++ b/app/src/main/res/layout-land/view_read_menu.xml @@ -20,7 +20,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorSurfaceContainer" - android:alpha="0.92" app:layout_constraintTop_toTopOf="parent"> - + + + + + + android:clickable="true" + android:enabled="false" + android:focusable="true" + app:icon="@drawable/ic_previous" + android:contentDescription="@string/previous_chapter" + tools:ignore="TouchTargetSizeCheck" /> - - - - + + android:layout_gravity="center_vertical"/> + - + + - - - + - - + - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/view_read_menu.xml b/app/src/main/res/layout/view_read_menu.xml index 53aab7f5f..8e9ba9650 100644 --- a/app/src/main/res/layout/view_read_menu.xml +++ b/app/src/main/res/layout/view_read_menu.xml @@ -20,7 +20,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorSurfaceContainer" - android:alpha="0.92" app:layout_constraintTop_toTopOf="parent"> - + + + - - + + + - - - - - - + android:layout_gravity="center_vertical"/> + - - + + - + - - + + \ No newline at end of file diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 7907f0b74..02004826d 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1286,4 +1286,6 @@ 延缓书籍加载 紧凑列表 %s • %d章未读 + 当前 %d%% + 菜单透明度 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index df9c68fc8..3eb2dff2d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1287,4 +1287,6 @@ Delay Book Loading Compact List %s • %dNot read + Current %d%% + Menu transparency diff --git a/app/src/main/res/xml/pref_config_read.xml b/app/src/main/res/xml/pref_config_read.xml index 3002d64b1..d8f8299c3 100644 --- a/app/src/main/res/xml/pref_config_read.xml +++ b/app/src/main/res/xml/pref_config_read.xml @@ -28,6 +28,13 @@ app:iconSpaceReserved="false" app:isBottomBackground="true" /> + +