Просмотр исходного кода

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

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

* ...

* ...
lhjgege 1 год назад
Родитель
Сommit
e837c156fc

+ 1 - 0
app/src/main/java/io/legado/app/constant/PreferKey.kt

@@ -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"

+ 7 - 0
app/src/main/java/io/legado/app/help/config/AppConfig.kt

@@ -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)
+        }
 }
 

+ 26 - 1
app/src/main/java/io/legado/app/ui/book/manga/ReadMangaActivity.kt

@@ -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)
+    }
 }

+ 10 - 0
app/src/main/java/io/legado/app/ui/book/manga/recyclerview/MangaAdapter.kt

@@ -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)
+    }
 }

+ 7 - 0
app/src/main/res/menu/book_manga.xml

@@ -81,4 +81,11 @@
         android:title="@string/manga_color_filter"
         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>

+ 1 - 0
app/src/main/res/values-es-rES/strings.xml

@@ -1207,4 +1207,5 @@
     <string name="manga_radio_center">居中</string>
     <string name="enable_manga_horizontal_scroll">水平滚动</string>
     <string name="manga_color_filter">滤镜</string>
+    <string name="hide_manga_title">隐藏漫画列表标题</string>
 </resources>

+ 1 - 0
app/src/main/res/values-ja-rJP/strings.xml

@@ -1210,4 +1210,5 @@
     <string name="manga_radio_center">居中</string>
     <string name="enable_manga_horizontal_scroll">水平滚动</string>
     <string name="manga_color_filter">滤镜</string>
+    <string name="hide_manga_title">隐藏漫画列表标题</string>
 </resources>

+ 1 - 0
app/src/main/res/values-pt-rBR/strings.xml

@@ -1210,4 +1210,5 @@
     <string name="manga_radio_center">居中</string>
     <string name="enable_manga_horizontal_scroll">水平滚动</string>
     <string name="manga_color_filter">滤镜</string>
+    <string name="hide_manga_title">隐藏漫画列表标题</string>
 </resources>

+ 1 - 0
app/src/main/res/values-vi/strings.xml

@@ -1206,4 +1206,5 @@ Còn </string>
     <string name="manga_radio_center">居中</string>
     <string name="enable_manga_horizontal_scroll">水平滚动</string>
     <string name="manga_color_filter">滤镜</string>
+    <string name="hide_manga_title">隐藏漫画列表标题</string>
 </resources>

+ 1 - 0
app/src/main/res/values-zh-rHK/strings.xml

@@ -1207,4 +1207,5 @@
     <string name="manga_radio_center">居中</string>
     <string name="enable_manga_horizontal_scroll">水平滚动</string>
     <string name="manga_color_filter">滤镜</string>
+    <string name="hide_manga_title">隐藏漫画列表标题</string>
 </resources>

+ 1 - 0
app/src/main/res/values-zh-rTW/strings.xml

@@ -1209,4 +1209,5 @@
     <string name="manga_radio_center">居中</string>
     <string name="enable_manga_horizontal_scroll">水平滚动</string>
     <string name="manga_color_filter">滤镜</string>
+    <string name="hide_manga_title">隐藏漫画列表标题</string>
 </resources>

+ 1 - 0
app/src/main/res/values-zh/strings.xml

@@ -1209,4 +1209,5 @@
     <string name="manga_radio_center">居中</string>
     <string name="enable_manga_horizontal_scroll">水平滚动</string>
     <string name="manga_color_filter">滤镜</string>
+    <string name="hide_manga_title">隐藏漫画列表标题</string>
 </resources>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -1210,4 +1210,5 @@
     <string name="manga_radio_center">居中</string>
     <string name="enable_manga_horizontal_scroll">水平滚动</string>
     <string name="manga_color_filter">滤镜</string>
+    <string name="hide_manga_title">隐藏漫画列表标题</string>
 </resources>