增加禁用漫画列表中标题显示 (#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 mangaFooterConfig = "mangaFooterConfig"
const val disableClickScroll = "disableClickScroll" const val disableClickScroll = "disableClickScroll"
const val enableMangaHorizontalScroll = "enableMangaHorizontalScroll" const val enableMangaHorizontalScroll = "enableMangaHorizontalScroll"
const val hideMangaTitle = "hideMangaTitle"
const val mangaColorFilter = "mangaColorFilter" const val mangaColorFilter = "mangaColorFilter"
const val autoRefresh = "auto_refresh" const val autoRefresh = "auto_refresh"
const val defaultToRead = "defaultToRead" const val defaultToRead = "defaultToRead"
@@ -656,5 +656,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
set(value) { set(value) {
appCtx.putPrefString(PreferKey.mangaColorFilter, 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 = val mangaColorFilter =
GSON.fromJsonObject<MangaColorFilterConfig>(AppConfig.mangaColorFilter).getOrNull() GSON.fromJsonObject<MangaColorFilterConfig>(AppConfig.mangaColorFilter).getOrNull()
?: MangaColorFilterConfig() ?: MangaColorFilterConfig()
mAdapter.setMangaImageColorFilter(mangaColorFilter) mAdapter.run {
setMangaImageColorFilter(mangaColorFilter)
setHideTitle(AppConfig.hideMangaTitle)
}
setHorizontalScroll(AppConfig.enableMangaHorizontalScroll) setHorizontalScroll(AppConfig.enableMangaHorizontalScroll)
binding.recyclerView.run { binding.recyclerView.run {
adapter = mAdapter adapter = mAdapter
@@ -560,6 +563,12 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
mPagerSnapHelper.attachToRecyclerView(binding.recyclerView) 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) return super.onCompatOptionsItemSelected(item)
} }
@@ -635,6 +644,7 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
getString(R.string.manga_auto_page_speed, AppConfig.mangaAutoPageSpeed) getString(R.string.manga_auto_page_speed, AppConfig.mangaAutoPageSpeed)
menu.findItem(R.id.menu_enable_horizontal_scroll).isChecked = menu.findItem(R.id.menu_enable_horizontal_scroll).isChecked =
AppConfig.enableMangaHorizontalScroll AppConfig.enableMangaHorizontalScroll
menu.findItem(R.id.menu_hide_manga_title).isChecked = AppConfig.hideMangaTitle
} }
private fun setDisableMangaScale(disable: Boolean) { private fun setDisableMangaScale(disable: Boolean) {
@@ -758,4 +768,19 @@ class ReadMangaActivity : VMBaseActivity<ActivityMangaBinding, ReadMangaViewMode
ReadManga.durChapterPos = index 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.config.MangaColorFilterConfig
import io.legado.app.ui.book.manga.entities.MangaPage import io.legado.app.ui.book.manga.entities.MangaPage
import io.legado.app.ui.book.manga.entities.ReaderLoading 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) : class MangaAdapter(private val context: Context) :
@@ -42,6 +43,7 @@ class MangaAdapter(private val context: Context) :
} }
var isHorizontal = false var isHorizontal = false
private var hideTitle = false
private val mDiffCallback: DiffUtil.ItemCallback<Any> = object : DiffUtil.ItemCallback<Any>() { private val mDiffCallback: DiffUtil.ItemCallback<Any> = object : DiffUtil.ItemCallback<Any>() {
override fun areItemsTheSame(oldItem: Any, newItem: Any): Boolean { override fun areItemsTheSame(oldItem: Any, newItem: Any): Boolean {
@@ -126,6 +128,9 @@ class MangaAdapter(private val context: Context) :
fun onBind(item: ReaderLoading) { fun onBind(item: ReaderLoading) {
val message = item.mMessage val message = item.mMessage
binding.text.text = message 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 mConfig = config
notifyItemRangeChanged(0, itemCount) notifyItemRangeChanged(0, itemCount)
} }
fun setHideTitle(hide: Boolean) {
this.hideTitle=hide
notifyItemRangeChanged(0, itemCount)
}
} }
+7
View File
@@ -81,4 +81,11 @@
android:title="@string/manga_color_filter" android:title="@string/manga_color_filter"
app:showAsAction="never" /> app:showAsAction="never" />
<item
android:id="@+id/menu_hide_manga_title"
android:checkable="true"
android:checked="false"
android:title="@string/hide_manga_title"
app:showAsAction="never" />
</menu> </menu>
@@ -1207,4 +1207,5 @@
<string name="manga_radio_center">居中</string> <string name="manga_radio_center">居中</string>
<string name="enable_manga_horizontal_scroll">水平滚动</string> <string name="enable_manga_horizontal_scroll">水平滚动</string>
<string name="manga_color_filter">滤镜</string> <string name="manga_color_filter">滤镜</string>
<string name="hide_manga_title">隐藏漫画列表标题</string>
</resources> </resources>
@@ -1210,4 +1210,5 @@
<string name="manga_radio_center">居中</string> <string name="manga_radio_center">居中</string>
<string name="enable_manga_horizontal_scroll">水平滚动</string> <string name="enable_manga_horizontal_scroll">水平滚动</string>
<string name="manga_color_filter">滤镜</string> <string name="manga_color_filter">滤镜</string>
<string name="hide_manga_title">隐藏漫画列表标题</string>
</resources> </resources>
@@ -1210,4 +1210,5 @@
<string name="manga_radio_center">居中</string> <string name="manga_radio_center">居中</string>
<string name="enable_manga_horizontal_scroll">水平滚动</string> <string name="enable_manga_horizontal_scroll">水平滚动</string>
<string name="manga_color_filter">滤镜</string> <string name="manga_color_filter">滤镜</string>
<string name="hide_manga_title">隐藏漫画列表标题</string>
</resources> </resources>
+1
View File
@@ -1206,4 +1206,5 @@ Còn </string>
<string name="manga_radio_center">居中</string> <string name="manga_radio_center">居中</string>
<string name="enable_manga_horizontal_scroll">水平滚动</string> <string name="enable_manga_horizontal_scroll">水平滚动</string>
<string name="manga_color_filter">滤镜</string> <string name="manga_color_filter">滤镜</string>
<string name="hide_manga_title">隐藏漫画列表标题</string>
</resources> </resources>
@@ -1207,4 +1207,5 @@
<string name="manga_radio_center">居中</string> <string name="manga_radio_center">居中</string>
<string name="enable_manga_horizontal_scroll">水平滚动</string> <string name="enable_manga_horizontal_scroll">水平滚动</string>
<string name="manga_color_filter">滤镜</string> <string name="manga_color_filter">滤镜</string>
<string name="hide_manga_title">隐藏漫画列表标题</string>
</resources> </resources>
@@ -1209,4 +1209,5 @@
<string name="manga_radio_center">居中</string> <string name="manga_radio_center">居中</string>
<string name="enable_manga_horizontal_scroll">水平滚动</string> <string name="enable_manga_horizontal_scroll">水平滚动</string>
<string name="manga_color_filter">滤镜</string> <string name="manga_color_filter">滤镜</string>
<string name="hide_manga_title">隐藏漫画列表标题</string>
</resources> </resources>
+1
View File
@@ -1209,4 +1209,5 @@
<string name="manga_radio_center">居中</string> <string name="manga_radio_center">居中</string>
<string name="enable_manga_horizontal_scroll">水平滚动</string> <string name="enable_manga_horizontal_scroll">水平滚动</string>
<string name="manga_color_filter">滤镜</string> <string name="manga_color_filter">滤镜</string>
<string name="hide_manga_title">隐藏漫画列表标题</string>
</resources> </resources>
+1
View File
@@ -1210,4 +1210,5 @@
<string name="manga_radio_center">居中</string> <string name="manga_radio_center">居中</string>
<string name="enable_manga_horizontal_scroll">水平滚动</string> <string name="enable_manga_horizontal_scroll">水平滚动</string>
<string name="manga_color_filter">滤镜</string> <string name="manga_color_filter">滤镜</string>
<string name="hide_manga_title">隐藏漫画列表标题</string>
</resources> </resources>