增加禁用漫画列表中标题显示 (#4880)

* 增加禁用漫画列表中标题显示
增加音量键上下翻页

* ...

* ...
This commit is contained in:
lhjgege
2025-03-26 17:45:11 +08:00
committed by GitHub
parent 84fc881631
commit e837c156fc
13 changed files with 59 additions and 1 deletions
@@ -100,6 +100,7 @@ object PreferKey {
const val mangaFooterConfig = "mangaFooterConfig"
const val disableClickScroll = "disableClickScroll"
const val enableMangaHorizontalScroll = "enableMangaHorizontalScroll"
const val hideMangaTitle = "hideMangaTitle"
const val mangaColorFilter = "mangaColorFilter"
const val autoRefresh = "auto_refresh"
const val defaultToRead = "defaultToRead"
@@ -656,5 +656,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
set(value) {
appCtx.putPrefString(PreferKey.mangaColorFilter, value)
}
//禁用漫画内标题
var hideMangaTitle
get() = appCtx.getPrefBoolean(PreferKey.hideMangaTitle, false)
set(value) {
appCtx.putPrefBoolean(PreferKey.hideMangaTitle, value)
}
}
@@ -189,7 +189,10 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
val mangaColorFilter =
GSON.fromJsonObject<MangaColorFilterConfig>(AppConfig.mangaColorFilter).getOrNull()
?: MangaColorFilterConfig()
mAdapter.setMangaImageColorFilter(mangaColorFilter)
mAdapter.run {
setMangaImageColorFilter(mangaColorFilter)
setHideTitle(AppConfig.hideMangaTitle)
}
setHorizontalScroll(AppConfig.enableMangaHorizontalScroll)
binding.recyclerView.run {
adapter = mAdapter
@@ -560,6 +563,12 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
mPagerSnapHelper.attachToRecyclerView(binding.recyclerView)
}
}
R.id.menu_hide_manga_title -> {
item.isChecked = !item.isChecked
AppConfig.hideMangaTitle = item.isChecked
mAdapter.setHideTitle(item.isChecked)
}
}
return super.onCompatOptionsItemSelected(item)
}
@@ -635,6 +644,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
getString(R.string.manga_auto_page_speed, AppConfig.mangaAutoPageSpeed)
menu.findItem(R.id.menu_enable_horizontal_scroll).isChecked =
AppConfig.enableMangaHorizontalScroll
menu.findItem(R.id.menu_hide_manga_title).isChecked = AppConfig.hideMangaTitle
}
private fun setDisableMangaScale(disable: Boolean) {
@@ -758,4 +768,19 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
ReadManga.durChapterPos = index
}
}
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
when (keyCode) {
KeyEvent.KEYCODE_VOLUME_UP -> {
scrollToPrev()
return true
}
KeyEvent.KEYCODE_VOLUME_DOWN -> {
scrollToNext()
return true
}
}
return super.onKeyDown(keyCode, event)
}
}
@@ -28,6 +28,7 @@ import io.legado.app.model.ReadManga
import io.legado.app.ui.book.manga.config.MangaColorFilterConfig
import io.legado.app.ui.book.manga.entities.MangaPage
import io.legado.app.ui.book.manga.entities.ReaderLoading
import io.legado.app.ui.widget.anima.explosion_field.Utils
class MangaAdapter(private val context: Context) :
@@ -42,6 +43,7 @@ class MangaAdapter(private val context: Context) :
}
var isHorizontal = false
private var hideTitle = false
private val mDiffCallback: DiffUtil.ItemCallback<Any> = object : DiffUtil.ItemCallback<Any>() {
override fun areItemsTheSame(oldItem: Any, newItem: Any): Boolean {
@@ -126,6 +128,9 @@ class MangaAdapter(private val context: Context) :
fun onBind(item: ReaderLoading) {
val message = item.mMessage
binding.text.text = message
binding.root.updateLayoutParams<ViewGroup.LayoutParams> {
height = if (hideTitle) 0 else Utils.dp2Px(96)
}
}
}
@@ -238,4 +243,9 @@ class MangaAdapter(private val context: Context) :
mConfig = config
notifyItemRangeChanged(0, itemCount)
}
fun setHideTitle(hide: Boolean) {
this.hideTitle=hide
notifyItemRangeChanged(0, itemCount)
}
}