增加阅读菜单透明度调整 #81

This commit is contained in:
HapeLee
2025-10-12 13:14:45 +08:00
parent 16558242d8
commit 554dbb3e1e
9 changed files with 159 additions and 136 deletions
@@ -204,4 +204,5 @@ object PreferKey {
const val tabletInterface = "tabletInterface"
const val pureBlack = "pure_black"
const val labelVisibilityMode = "labelVisibilityMode"
const val menuAlpha = "menuAlpha"
}
@@ -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)
}
}
@@ -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()
/**
* 确保视图不被导航栏遮挡
@@ -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<Preference>(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)
}