阅读进度条开关 #125
This commit is contained in:
@@ -53,6 +53,7 @@ object PreferKey {
|
|||||||
const val threadCount = "threadCount"
|
const val threadCount = "threadCount"
|
||||||
const val webPort = "webPort"
|
const val webPort = "webPort"
|
||||||
const val keepLight = "keep_light"
|
const val keepLight = "keep_light"
|
||||||
|
const val readSliderMode = "read_slider_mode"
|
||||||
const val webService = "webService"
|
const val webService = "webService"
|
||||||
const val webDavUrl = "web_dav_url"
|
const val webDavUrl = "web_dav_url"
|
||||||
const val webDavAccount = "web_dav_account"
|
const val webDavAccount = "web_dav_account"
|
||||||
|
|||||||
@@ -820,10 +820,16 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
|
|||||||
appCtx.putPrefString(PreferKey.labelVisibilityMode, value)
|
appCtx.putPrefString(PreferKey.labelVisibilityMode, value)
|
||||||
}
|
}
|
||||||
|
|
||||||
var menuAlpha
|
var menuAlpha: Int
|
||||||
get() = appCtx.getPrefInt(PreferKey.menuAlpha, 100)
|
get() = appCtx.getPrefInt(PreferKey.menuAlpha, 100)
|
||||||
set(value) {
|
set(value) {
|
||||||
appCtx.putPrefInt(PreferKey.menuAlpha, value)
|
appCtx.putPrefInt(PreferKey.menuAlpha, value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var readSliderMode
|
||||||
|
get() = appCtx.getPrefString(PreferKey.readSliderMode, "0")
|
||||||
|
set(value) {
|
||||||
|
appCtx.putPrefString(PreferKey.readSliderMode, value)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import android.content.Context
|
|||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import android.graphics.drawable.GradientDrawable
|
import android.graphics.drawable.GradientDrawable
|
||||||
import android.util.AttributeSet
|
import android.util.AttributeSet
|
||||||
|
import android.view.Gravity
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE
|
import android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE
|
||||||
import android.view.animation.AlphaAnimation
|
import android.view.animation.AlphaAnimation
|
||||||
@@ -36,6 +37,7 @@ import io.legato.kazusa.utils.activity
|
|||||||
import io.legato.kazusa.utils.applyNavigationBarPadding
|
import io.legato.kazusa.utils.applyNavigationBarPadding
|
||||||
import io.legato.kazusa.utils.dpToPx
|
import io.legato.kazusa.utils.dpToPx
|
||||||
import io.legato.kazusa.utils.getPrefBoolean
|
import io.legato.kazusa.utils.getPrefBoolean
|
||||||
|
import io.legato.kazusa.utils.getPrefString
|
||||||
import io.legato.kazusa.utils.gone
|
import io.legato.kazusa.utils.gone
|
||||||
import io.legato.kazusa.utils.invisible
|
import io.legato.kazusa.utils.invisible
|
||||||
import io.legato.kazusa.utils.loadAnimation
|
import io.legato.kazusa.utils.loadAnimation
|
||||||
@@ -172,7 +174,7 @@ class ReadMenu @JvmOverloads constructor(
|
|||||||
|
|
||||||
private fun initView() = binding.run {
|
private fun initView() = binding.run {
|
||||||
initAnimation()
|
initAnimation()
|
||||||
|
updateSliderVisibility()
|
||||||
binding.bottomView.post {
|
binding.bottomView.post {
|
||||||
val allButtons = getUserButtons()
|
val allButtons = getUserButtons()
|
||||||
renderButtons(binding.bottomView, allButtons)
|
renderButtons(binding.bottomView, allButtons)
|
||||||
@@ -435,23 +437,62 @@ class ReadMenu @JvmOverloads constructor(
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
//替换
|
|
||||||
//fabReplaceRule.setOnClickListener { callBack.openReplaceRule() }
|
|
||||||
|
|
||||||
//夜间模式
|
|
||||||
// fabNightTheme.setOnClickListener {
|
|
||||||
// AppConfig.isNightTheme = !AppConfig.isNightTheme
|
|
||||||
// ThemeConfig.applyDayNight(context)
|
|
||||||
// }
|
|
||||||
|
|
||||||
//上一章
|
//上一章
|
||||||
tvPre.setOnClickListener { ReadBook.moveToPrevChapter(upContent = true, toLast = false) }
|
tvPre.setOnClickListener { ReadBook.moveToPrevChapter(upContent = true, toLast = false) }
|
||||||
|
|
||||||
//下一章
|
//下一章
|
||||||
tvNext.setOnClickListener { ReadBook.moveToNextChapter(true) }
|
tvNext.setOnClickListener { ReadBook.moveToNextChapter(true) }
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun updateSliderVisibility() {
|
||||||
|
when (AppConfig.readSliderMode) {
|
||||||
|
"0" -> {
|
||||||
|
binding.llSlider.gravity = Gravity.CENTER
|
||||||
|
binding.llSlider.isVisible = true
|
||||||
|
binding.cdSlider.isVisible = true
|
||||||
|
binding.tvPre.isVisible = true
|
||||||
|
binding.tvNext.isVisible = true
|
||||||
|
}
|
||||||
|
|
||||||
|
"1" -> {
|
||||||
|
binding.llSlider.gravity = Gravity.CENTER
|
||||||
|
binding.llSlider.isVisible = false
|
||||||
|
binding.cdSlider.isVisible = false
|
||||||
|
binding.tvPre.isVisible = false
|
||||||
|
binding.tvNext.isVisible = false
|
||||||
|
}
|
||||||
|
|
||||||
|
"2" -> {
|
||||||
|
binding.llSlider.gravity = Gravity.START
|
||||||
|
binding.llSlider.isVisible = true
|
||||||
|
binding.cdSlider.isVisible = false
|
||||||
|
binding.tvPre.isVisible = true
|
||||||
|
binding.tvNext.isVisible = true
|
||||||
|
}
|
||||||
|
|
||||||
|
"3" -> {
|
||||||
|
binding.llSlider.gravity = Gravity.END
|
||||||
|
binding.llSlider.isVisible = true
|
||||||
|
binding.cdSlider.isVisible = false
|
||||||
|
binding.tvPre.isVisible = true
|
||||||
|
binding.tvNext.isVisible = true
|
||||||
|
}
|
||||||
|
|
||||||
|
"4" -> {
|
||||||
|
binding.llSlider.gravity = Gravity.CENTER
|
||||||
|
binding.llSlider.isVisible = true
|
||||||
|
binding.cdSlider.isVisible = true
|
||||||
|
binding.tvPre.isVisible = false
|
||||||
|
binding.tvNext.isVisible = false
|
||||||
|
}
|
||||||
|
|
||||||
|
else -> {
|
||||||
|
binding.llSlider.isVisible = true
|
||||||
|
binding.cdSlider.isVisible = true
|
||||||
|
binding.tvPre.isVisible = true
|
||||||
|
binding.tvNext.isVisible = true
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private val buttonMap = mutableMapOf<String, MaterialButton>()
|
private val buttonMap = mutableMapOf<String, MaterialButton>()
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ class MoreConfigDialog : BaseBottomSheetDialogFragment(R.layout.dialog_more_conf
|
|||||||
}
|
}
|
||||||
|
|
||||||
PreferKey.keepLight -> postEvent(key, true)
|
PreferKey.keepLight -> postEvent(key, true)
|
||||||
|
PreferKey.readSliderMode -> postEvent(EventBus.UPDATE_READ_ACTION_BAR, true)
|
||||||
PreferKey.textSelectAble -> postEvent(key, getPrefBoolean(key))
|
PreferKey.textSelectAble -> postEvent(key, getPrefBoolean(key))
|
||||||
PreferKey.screenOrientation -> {
|
PreferKey.screenOrientation -> {
|
||||||
(activity as? ReadBookActivity)?.setOrientation()
|
(activity as? ReadBookActivity)?.setOrientation()
|
||||||
|
|||||||
@@ -153,6 +153,7 @@
|
|||||||
tools:ignore="TouchTargetSizeCheck" />
|
tools:ignore="TouchTargetSizeCheck" />
|
||||||
|
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
|
android:id="@+id/cd_slider"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
|
|||||||
@@ -120,7 +120,6 @@
|
|||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
app:layout_constraintBottom_toBottomOf="parent">
|
app:layout_constraintBottom_toBottomOf="parent">
|
||||||
|
|
||||||
<!--章节设置-->
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/ll_slider"
|
android:id="@+id/ll_slider"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -144,6 +143,7 @@
|
|||||||
tools:ignore="TouchTargetSizeCheck" />
|
tools:ignore="TouchTargetSizeCheck" />
|
||||||
|
|
||||||
<com.google.android.material.card.MaterialCardView
|
<com.google.android.material.card.MaterialCardView
|
||||||
|
android:id="@+id/cd_slider"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
@@ -157,8 +157,6 @@
|
|||||||
android:layout_gravity="center_vertical"/>
|
android:layout_gravity="center_vertical"/>
|
||||||
</com.google.android.material.card.MaterialCardView>
|
</com.google.android.material.card.MaterialCardView>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/tv_next"
|
android:id="@+id/tv_next"
|
||||||
style="@style/Widget.Material3Expressive.Button.IconButton.Tonal"
|
style="@style/Widget.Material3Expressive.Button.IconButton.Tonal"
|
||||||
@@ -182,7 +180,6 @@
|
|||||||
android:background="?attr/colorSurfaceContainer"
|
android:background="?attr/colorSurfaceContainer"
|
||||||
android:orientation="horizontal"/>
|
android:orientation="horizontal"/>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -160,4 +160,12 @@
|
|||||||
<item>不显示</item>
|
<item>不显示</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="read_slider_mode">
|
||||||
|
<item>常驻</item>
|
||||||
|
<item>不显示</item>
|
||||||
|
<item>按钮置左</item>
|
||||||
|
<item>按钮置右</item>
|
||||||
|
<item>仅显示滑动条</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1303,4 +1303,5 @@
|
|||||||
<string name="day_night_switch">深浅色模式开关</string>
|
<string name="day_night_switch">深浅色模式开关</string>
|
||||||
<string name="manga_long_click">长按保存图片</string>
|
<string name="manga_long_click">长按保存图片</string>
|
||||||
<string name="read_type_long">长按设置为全局默认模式</string>
|
<string name="read_type_long">长按设置为全局默认模式</string>
|
||||||
|
<string name="read_slider_mode">滑动条显示样式</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -89,4 +89,12 @@
|
|||||||
<item>unlabeled</item>
|
<item>unlabeled</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="read_slider_mode_value">
|
||||||
|
<item>0</item>
|
||||||
|
<item>1</item>
|
||||||
|
<item>2</item>
|
||||||
|
<item>3</item>
|
||||||
|
<item>4</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -85,6 +85,14 @@
|
|||||||
<item>Always</item>
|
<item>Always</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="read_slider_mode">
|
||||||
|
<item>Always</item>
|
||||||
|
<item>Disable</item>
|
||||||
|
<item>Left button</item>
|
||||||
|
<item>Right button</item>
|
||||||
|
<item>Only slider</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
<string-array name="screen_direction_title">
|
<string-array name="screen_direction_title">
|
||||||
<item>@string/screen_unspecified</item>
|
<item>@string/screen_unspecified</item>
|
||||||
<item>@string/screen_portrait</item>
|
<item>@string/screen_portrait</item>
|
||||||
|
|||||||
@@ -1304,4 +1304,5 @@
|
|||||||
<string name="day_night_switch">深浅色模式开关</string>
|
<string name="day_night_switch">深浅色模式开关</string>
|
||||||
<string name="manga_long_click">长按保存图片</string>
|
<string name="manga_long_click">长按保存图片</string>
|
||||||
<string name="read_type_long">长按设置为全局默认模式</string>
|
<string name="read_type_long">长按设置为全局默认模式</string>
|
||||||
|
<string name="read_slider_mode">滑动条显示样式</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -28,6 +28,15 @@
|
|||||||
app:iconSpaceReserved="false"
|
app:iconSpaceReserved="false"
|
||||||
app:isBottomBackground="true" />
|
app:isBottomBackground="true" />
|
||||||
|
|
||||||
|
<io.legato.kazusa.lib.prefs.NameListPreference
|
||||||
|
android:defaultValue="0"
|
||||||
|
android:entries="@array/read_slider_mode"
|
||||||
|
android:entryValues="@array/read_slider_mode_value"
|
||||||
|
android:key="read_slider_mode"
|
||||||
|
android:title="@string/read_slider_mode"
|
||||||
|
app:iconSpaceReserved="false"
|
||||||
|
app:isBottomBackground="true" />
|
||||||
|
|
||||||
<io.legato.kazusa.lib.prefs.Preference
|
<io.legato.kazusa.lib.prefs.Preference
|
||||||
android:key="menuAlpha"
|
android:key="menuAlpha"
|
||||||
android:summary="@string/menu_alpha_sum"
|
android:summary="@string/menu_alpha_sum"
|
||||||
|
|||||||
Reference in New Issue
Block a user