瀏覽代碼

菜单标题

HapeLee 1 年之前
父節點
當前提交
5a559a876d

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

@@ -217,4 +217,6 @@ object PreferKey {
 
     const val disableMangaScrollAnimation = "disableMangaScrollAnimation"
     const val disableMangaCrossFade = "disableMangaCrossFade"
+
+    const val titleBarMode = "titleBarMode"
 }

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

@@ -734,6 +734,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
             appCtx.putPrefBoolean(PreferKey.disableMangaCrossFade, value)
         }
 
+    var titleBarMode
+        get() = appCtx.getPrefString(PreferKey.titleBarMode, "1")
+        set(value) {
+            appCtx.putPrefString(PreferKey.titleBarMode, value)
+        }
+
     //漫画预加载数量
     var mangaPreDownloadNum
         get() = appCtx.getPrefInt(PreferKey.mangaPreDownloadNum, 10)

+ 30 - 8
app/src/main/java/io/legado/app/ui/book/read/ReadMenu.kt

@@ -259,6 +259,7 @@ class ReadMenu @JvmOverloads constructor(
     fun reset() {
         upColorConfig()
         initView()
+        upBookView()
     }
 
     fun refreshMenuColorFilter() {
@@ -725,14 +726,33 @@ class ReadMenu @JvmOverloads constructor(
     fun upBookView() {
         val bookName = ReadBook.book?.name ?: ""
 
-        val isTablet = (resources.configuration.screenLayout and Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE
+        val mode = AppConfig.titleBarMode?.toInt()
 
-        if (isTablet || resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE) {
-            binding.titleBar.title = bookName
-            binding.tvBookName.gone()
-        } else {
-            binding.titleBar.title = " "
-            binding.tvBookName.text = bookName
+        when (mode) {
+            0 -> { // 在应用栏上显示
+                binding.titleBar.title = bookName
+                binding.llBook.visible()
+                binding.tvBookName.gone()
+            }
+            1 -> { // 在独立行上显示
+                binding.titleBar.title = " "
+                binding.tvBookName.text = bookName
+                binding.llBook.visible()
+                binding.tvBookName.visible()
+            }
+            2 -> { // 仅显示标题
+                binding.titleBar.title = bookName
+                binding.llBook.gone()
+            }
+            3 -> { // 不显示
+                binding.titleBar.title = " "
+                binding.llBook.gone()
+            }
+            else -> {
+                binding.titleBar.title = " "
+                binding.tvBookName.text = bookName
+                binding.llBook.visible()
+            }
         }
 
         ReadBook.curTextChapter?.let {
@@ -743,14 +763,16 @@ class ReadMenu @JvmOverloads constructor(
             } else {
                 binding.tvChapterUrl.gone()
             }
+
             upSeekBar()
             binding.tvPre.isEnabled = ReadBook.durChapterIndex != 0
             binding.tvNext.isEnabled = ReadBook.durChapterIndex != ReadBook.simulatedChapterSize - 1
-        } ?: let {
+        } ?: run {
             binding.tvChapterUrl.gone()
         }
     }
 
+
     fun upSeekBar() {
         //孩子们 土方法丑陋但有效
         binding.seekReadPage.apply {

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/config/MoreConfigDialog.kt

@@ -89,7 +89,7 @@ class MoreConfigDialog : BaseBottomSheetDialogFragment(R.layout.dialog_more_conf
                 }
 
                 PreferKey.keepLight -> postEvent(key, true)
-                PreferKey.readSliderMode -> postEvent(EventBus.UPDATE_READ_ACTION_BAR, true)
+                PreferKey.readSliderMode, PreferKey.titleBarMode -> postEvent(EventBus.UPDATE_READ_ACTION_BAR, true)
                 PreferKey.textSelectAble -> postEvent(key, getPrefBoolean(key))
                 PreferKey.screenOrientation -> {
                     (activity as? ReadBookActivity)?.setOrientation()

+ 1 - 0
app/src/main/res/layout-land/view_read_menu.xml

@@ -25,6 +25,7 @@
         app:layout_constraintTop_toTopOf="parent">
 
         <LinearLayout
+            android:id="@+id/ll_book"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical"

+ 1 - 0
app/src/main/res/layout/view_read_menu.xml

@@ -24,6 +24,7 @@
         app:layout_constraintTop_toTopOf="parent">
 
         <LinearLayout
+            android:id="@+id/ll_book"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical"

+ 2 - 7
app/src/main/res/values-zh/arrays.xml

@@ -177,15 +177,10 @@
     </string-array>
 
     <string-array name="title_bar_mode">
-        <item>自动</item>
         <item>在应用栏上显示</item>
         <item>在独立行上显示</item>
-    </string-array>
-
-    <string-array name="title_chapter_mode">
-        <item>不显示标题</item>
-        <item>不显示章节</item>
-        <item>Disable title and chapter display</item>
+        <item>仅显示标题</item>
+        <item>不显示</item>
     </string-array>
 
     <string name="all_version">所有版本</string>

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

@@ -1344,4 +1344,5 @@
     <string name="dotted_line_black">实线段长</string>
     <string name="dotted_line_while">空隙比例</string>
     <string name="underline_height">线段高度</string>
+    <string name="title_bar_mode">菜单标题显示方式</string>
 </resources>

+ 1 - 6
app/src/main/res/values/array_values.xml

@@ -102,12 +102,7 @@
         <item>0</item>
         <item>1</item>
         <item>2</item>
-    </string-array>
-
-    <string-array name="title_chapter_mode_value">
-        <item>0</item>
-        <item>1</item>
-        <item>2</item>
+        <item>3</item>
     </string-array>
 
 </resources>

+ 2 - 1
app/src/main/res/values/arrays.xml

@@ -96,9 +96,10 @@
 	</string-array>
 
 	<string-array name="title_bar_mode">
-		<item>Auto</item>
 		<item>Show in TopBar</item>
 		<item>Show in another line</item>
+		<item>Only Chapter</item>
+		<item>Not show</item>
 	</string-array>
 
 	<string-array name="title_chapter_mode">

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

@@ -1345,4 +1345,5 @@
     <string name="dotted_line_black">实线段长</string>
     <string name="dotted_line_while">空隙比例</string>
     <string name="underline_height">线段高度</string>
+    <string name="title_bar_mode">菜单标题显示方式</string>
 </resources>

+ 5 - 5
app/src/main/res/xml/pref_config_read.xml

@@ -42,11 +42,11 @@
             app:isBottomBackground="true" />
 
         <io.legado.app.lib.prefs.NameListPreference
-            android:defaultValue="0"
-            android:entries="@array/read_slider_mode"
-            android:entryValues="@array/read_slider_mode_value"
-            android:key="title_bar_mode"
-            android:title="@string/read_slider_mode"
+            android:defaultValue="1"
+            android:entries="@array/title_bar_mode"
+            android:entryValues="@array/title_bar_mode_value"
+            android:key="titleBarMode"
+            android:title="@string/title_bar_mode"
             app:isBottomBackground="true" />
 
         <io.legado.app.lib.prefs.Preference