feat: hide scrollBar toggle (#238)

This commit is contained in:
ibo 2024-03-13 13:57:40 +01:00 committed by GitHub
parent 6e8bd08828
commit 291f61551a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 91 additions and 0 deletions

View file

@ -88,6 +88,7 @@ class MangaReaderActivity : AppCompatActivity() {
private var isContVisible = false
private var showProgressDialog = true
private var hidescrollbar = false
private var maxChapterPage = 0L
private var currentChapterPage = 0L
@ -781,6 +782,38 @@ class MangaReaderActivity : AppCompatActivity() {
hideBars()
checkNotch()
}
// Hide the scrollbar completely
if (defaultSettings.hideScrollBar) {
binding.mangaReaderSliderContainer.visibility = View.GONE
} else {
if (defaultSettings.horizontalScrollBar) {
binding.mangaReaderSliderContainer.updateLayoutParams {
height = ViewGroup.LayoutParams.WRAP_CONTENT
width = ViewGroup.LayoutParams.WRAP_CONTENT
}
binding.mangaReaderSlider.apply {
updateLayoutParams<ViewGroup.MarginLayoutParams> {
width = ViewGroup.LayoutParams.MATCH_PARENT
}
rotation = 0f
}
} else {
binding.mangaReaderSliderContainer.updateLayoutParams {
height = ViewGroup.LayoutParams.MATCH_PARENT
width = 48f.px
}
binding.mangaReaderSlider.apply {
updateLayoutParams {
width = binding.mangaReaderSliderContainer.height - 16f.px
}
rotation = 90f
}
}
binding.mangaReaderSliderContainer.visibility = View.VISIBLE
}
//horizontal scrollbar
if (defaultSettings.horizontalScrollBar) {
binding.mangaReaderSliderContainer.updateLayoutParams {

View file

@ -127,6 +127,12 @@ class ReaderSettingsDialogFragment : BottomSheetDialogFragment() {
activity.applySettings()
}
binding.readerHideScrollBar.isChecked = settings.hideScrollBar
binding.readerHideScrollBar.setOnCheckedChangeListener { _, isChecked ->
settings.hideScrollBar = isChecked
activity.applySettings()
}
binding.readerHidePageNumbers.isChecked = settings.hidePageNumbers
binding.readerHidePageNumbers.setOnCheckedChangeListener { _, isChecked ->
settings.hidePageNumbers = isChecked

View file

@ -15,6 +15,7 @@ data class CurrentReaderSettings(
var trueColors: Boolean = PrefManager.getVal(PrefName.TrueColors),
var rotation: Boolean = PrefManager.getVal(PrefName.Rotation),
var padding: Boolean = PrefManager.getVal(PrefName.Padding),
var hideScrollBar: Boolean = PrefManager.getVal(PrefName.HideScrollBar),
var hidePageNumbers: Boolean = PrefManager.getVal(PrefName.HidePageNumbers),
var horizontalScrollBar: Boolean = PrefManager.getVal(PrefName.HorizontalScrollBar),
var keepScreenOn: Boolean = PrefManager.getVal(PrefName.KeepScreenOn),

View file

@ -148,6 +148,12 @@ class ReaderSettingsActivity : AppCompatActivity() {
PrefManager.setVal(PrefName.KeepScreenOn, isChecked)
}
binding.readerSettingsHideScrollBar.isChecked = defaultSettings.hideScrollBar
binding.readerSettingsHideScrollBar.setOnCheckedChangeListener { _, isChecked ->
defaultSettings.hideScrollBar = isChecked
PrefManager.setVal(PrefName.HideScrollBar, isChecked)
}
binding.readerSettingsHidePageNumbers.isChecked = defaultSettings.hidePageNumbers
binding.readerSettingsHidePageNumbers.setOnCheckedChangeListener { _, isChecked ->
defaultSettings.hidePageNumbers = isChecked

View file

@ -119,6 +119,7 @@ enum class PrefName(val data: Pref) { //TODO: Split this into multiple files
TrueColors(Pref(Location.Reader, Boolean::class, false)),
Rotation(Pref(Location.Reader, Boolean::class, true)),
Padding(Pref(Location.Reader, Boolean::class, true)),
HideScrollBar(Pref(Location.Reader, Boolean::class, false)),
HidePageNumbers(Pref(Location.Reader, Boolean::class, false)),
HorizontalScrollBar(Pref(Location.Reader, Boolean::class, true)),
KeepScreenOn(Pref(Location.Reader, Boolean::class, false)),