Horis há 3 anos atrás
pai
commit
53e97a6d3f

+ 1 - 0
app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt

@@ -476,6 +476,7 @@ object ReadBookConfig {
         var tipFooterMiddle: Int = ReadTipConfig.none,
         var tipFooterMiddle: Int = ReadTipConfig.none,
         var tipFooterRight: Int = ReadTipConfig.pageAndTotal,
         var tipFooterRight: Int = ReadTipConfig.pageAndTotal,
         var tipColor: Int = 0,
         var tipColor: Int = 0,
+        var tipDividerColor: Int = -1,
         var headerMode: Int = 0,
         var headerMode: Int = 0,
         var footerMode: Int = 0
         var footerMode: Int = 0
     ) {
     ) {

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

@@ -78,6 +78,12 @@ object ReadTipConfig {
             ReadBookConfig.config.tipColor = value
             ReadBookConfig.config.tipColor = value
         }
         }
 
 
+    var tipDividerColor: Int
+        get() = ReadBookConfig.config.tipDividerColor
+        set(value) {
+            ReadBookConfig.config.tipDividerColor = value
+        }
+
     fun getHeaderModes(context: Context): LinkedHashMap<Int, String> {
     fun getHeaderModes(context: Context): LinkedHashMap<Int, String> {
         return linkedMapOf(
         return linkedMapOf(
             Pair(0, context.getString(R.string.hide_when_status_bar_show)),
             Pair(0, context.getString(R.string.hide_when_status_bar_show)),

+ 10 - 1
app/src/main/java/io/legado/app/help/storage/BackupConfig.kt

@@ -62,7 +62,16 @@ object BackupConfig {
         PreferKey.shareLayout,
         PreferKey.shareLayout,
         PreferKey.hideStatusBar,
         PreferKey.hideStatusBar,
         PreferKey.hideNavigationBar,
         PreferKey.hideNavigationBar,
-        PreferKey.autoReadSpeed
+        PreferKey.autoReadSpeed,
+        PreferKey.clickActionTL,
+        PreferKey.clickActionTC,
+        PreferKey.clickActionTR,
+        PreferKey.clickActionML,
+        PreferKey.clickActionMC,
+        PreferKey.clickActionMR,
+        PreferKey.clickActionBL,
+        PreferKey.clickActionBC,
+        PreferKey.clickActionBR
     )
     )
 
 
 
 

+ 5 - 7
app/src/main/java/io/legado/app/model/ReadBook.kt

@@ -42,10 +42,13 @@ object ReadBook : CoroutineScope by MainScope() {
     private val loadingChapters = arrayListOf<Int>()
     private val loadingChapters = arrayListOf<Int>()
     private val readRecord = ReadRecord()
     private val readRecord = ReadRecord()
     var readStartTime: Long = System.currentTimeMillis()
     var readStartTime: Long = System.currentTimeMillis()
+
     /* 跳转历史记录 */
     /* 跳转历史记录 */
     var bookProgressHistory: List<BookProgress>? = null
     var bookProgressHistory: List<BookProgress>? = null
+
     /* 跳转进度前进度记录 */
     /* 跳转进度前进度记录 */
     var lastBookPress: BookProgress? = null
     var lastBookPress: BookProgress? = null
+
     /* web端阅读进度记录 */
     /* web端阅读进度记录 */
     var webBookProgress: BookProgress? = null
     var webBookProgress: BookProgress? = null
 
 
@@ -54,6 +57,7 @@ object ReadBook : CoroutineScope by MainScope() {
         if (lastBookPress != null) return //避免进度条连续跳转不能覆盖最初的进度记录
         if (lastBookPress != null) return //避免进度条连续跳转不能覆盖最初的进度记录
         lastBookPress = book?.let { BookProgress(it) }
         lastBookPress = book?.let { BookProgress(it) }
     }
     }
+
     //恢复跳转前进度
     //恢复跳转前进度
     fun restoreLastBookProcess() {
     fun restoreLastBookProcess() {
         lastBookPress?.let {
         lastBookPress?.let {
@@ -482,14 +486,10 @@ object ReadBook : CoroutineScope by MainScope() {
         }
         }
     }
     }
 
 
-    fun exit() {
-        callBack?.exit()
-    }
-
     interface CallBack {
     interface CallBack {
         fun upMenuView()
         fun upMenuView()
 
 
-        fun loadChapterList(book: Book)
+        fun loadChapterList(book: Book, callback: (() -> Unit)? = null)
 
 
         fun upContent(
         fun upContent(
             relativePosition: Int = 0,
             relativePosition: Int = 0,
@@ -503,8 +503,6 @@ object ReadBook : CoroutineScope by MainScope() {
 
 
         fun upPageAnim()
         fun upPageAnim()
 
 
-        fun exit()
-
         fun notifyBookChanged()
         fun notifyBookChanged()
     }
     }
 
 

+ 8 - 12
app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt

@@ -49,6 +49,7 @@ import io.legado.app.ui.book.read.config.*
 import io.legado.app.ui.book.read.config.BgTextConfigDialog.Companion.BG_COLOR
 import io.legado.app.ui.book.read.config.BgTextConfigDialog.Companion.BG_COLOR
 import io.legado.app.ui.book.read.config.BgTextConfigDialog.Companion.TEXT_COLOR
 import io.legado.app.ui.book.read.config.BgTextConfigDialog.Companion.TEXT_COLOR
 import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_COLOR
 import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_COLOR
+import io.legado.app.ui.book.read.config.TipConfigDialog.Companion.TIP_DIVIDER_COLOR
 import io.legado.app.ui.book.read.page.ContentTextView
 import io.legado.app.ui.book.read.page.ContentTextView
 import io.legado.app.ui.book.read.page.ReadView
 import io.legado.app.ui.book.read.page.ReadView
 import io.legado.app.ui.book.read.page.entities.PageDirection
 import io.legado.app.ui.book.read.page.entities.PageDirection
@@ -737,9 +738,9 @@ class ReadBookActivity : BaseReadBookActivity(),
         }
         }
     }
     }
 
 
-    override fun loadChapterList(book: Book) {
+    override fun loadChapterList(book: Book, callback: (() -> Unit)?) {
         ReadBook.upMsg(getString(R.string.toc_updateing))
         ReadBook.upMsg(getString(R.string.toc_updateing))
-        viewModel.loadChapterList(book)
+        viewModel.loadChapterList(book, callback)
     }
     }
 
 
     /**
     /**
@@ -776,16 +777,6 @@ class ReadBookActivity : BaseReadBookActivity(),
         }
         }
     }
     }
 
 
-    override fun exit() {
-        ReadBook.book?.let {
-            if (!ReadBook.inBookshelf) {
-                viewModel.removeFromBookshelf { super.finish() }
-            } else {
-                super.finish()
-            }
-        } ?: super.finish()
-    }
-
     override fun notifyBookChanged() {
     override fun notifyBookChanged() {
         bookChanged = true
         bookChanged = true
     }
     }
@@ -1154,6 +1145,11 @@ class ReadBookActivity : BaseReadBookActivity(),
                 postEvent(EventBus.TIP_COLOR, "")
                 postEvent(EventBus.TIP_COLOR, "")
                 postEvent(EventBus.UP_CONFIG, true)
                 postEvent(EventBus.UP_CONFIG, true)
             }
             }
+            TIP_DIVIDER_COLOR -> {
+                ReadTipConfig.tipDividerColor = color
+                postEvent(EventBus.TIP_COLOR, "")
+                postEvent(EventBus.UP_CONFIG, true)
+            }
         }
         }
     }
     }
 
 

+ 21 - 19
app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt

@@ -135,7 +135,7 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
     /**
     /**
      * 加载目录
      * 加载目录
      */
      */
-    fun loadChapterList(book: Book) {
+    fun loadChapterList(book: Book, callback: (() -> Unit)? = null) {
         if (book.isLocal) {
         if (book.isLocal) {
             execute {
             execute {
                 LocalBook.getChapterList(book).let {
                 LocalBook.getChapterList(book).let {
@@ -157,28 +157,30 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) {
                         ReadBook.upMsg("LoadTocError:${it.localizedMessage}")
                         ReadBook.upMsg("LoadTocError:${it.localizedMessage}")
                     }
                     }
                 }
                 }
+            }.onFinally {
+                callback?.invoke()
             }
             }
         } else {
         } else {
             ReadBook.bookSource?.let {
             ReadBook.bookSource?.let {
-                viewModelScope.launch(IO) {
-                    val oldBook = book.copy()
-                    WebBook.getChapterList(viewModelScope, it, book, true)
-                        .onSuccess(IO) { cList ->
-                            if (oldBook.bookUrl == book.bookUrl) {
-                                appDb.bookDao.update(book)
-                            } else {
-                                appDb.bookDao.insert(book)
-                                BookHelp.updateCacheFolder(oldBook, book)
-                            }
-                            appDb.bookChapterDao.delByBook(oldBook.bookUrl)
-                            appDb.bookChapterDao.insert(*cList.toTypedArray())
-                            ReadBook.chapterSize = cList.size
-                            ReadBook.upMsg(null)
-                            ReadBook.loadContent(resetPageOffset = true)
-                        }.onError {
-                            ReadBook.upMsg(context.getString(R.string.error_load_toc))
+                val oldBook = book.copy()
+                WebBook.getChapterList(viewModelScope, it, book, true)
+                    .onSuccess(IO) { cList ->
+                        if (oldBook.bookUrl == book.bookUrl) {
+                            appDb.bookDao.update(book)
+                        } else {
+                            appDb.bookDao.insert(book)
+                            BookHelp.updateCacheFolder(oldBook, book)
                         }
                         }
-                }
+                        appDb.bookChapterDao.delByBook(oldBook.bookUrl)
+                        appDb.bookChapterDao.insert(*cList.toTypedArray())
+                        ReadBook.chapterSize = cList.size
+                        ReadBook.upMsg(null)
+                        ReadBook.loadContent(resetPageOffset = true)
+                    }.onError {
+                        ReadBook.upMsg(context.getString(R.string.error_load_toc))
+                    }.onFinally {
+                        callback?.invoke()
+                    }
             }
             }
         }
         }
     }
     }

+ 27 - 0
app/src/main/java/io/legado/app/ui/book/read/config/TipConfigDialog.kt

@@ -19,6 +19,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) {
 
 
     companion object {
     companion object {
         const val TIP_COLOR = 7897
         const val TIP_COLOR = 7897
+        const val TIP_DIVIDER_COLOR = 7898
     }
     }
 
 
     private val binding by viewBinding(DialogTipConfigBinding::bind)
     private val binding by viewBinding(DialogTipConfigBinding::bind)
@@ -33,6 +34,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) {
         initEvent()
         initEvent()
         observeEvent<String>(EventBus.TIP_COLOR) {
         observeEvent<String>(EventBus.TIP_COLOR) {
             upTvTipColor()
             upTvTipColor()
+            upTvTipDividerColor()
         }
         }
     }
     }
 
 
@@ -64,6 +66,7 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) {
             }
             }
         }
         }
         upTvTipColor()
         upTvTipColor()
+        upTvTipDividerColor()
     }
     }
 
 
     private fun upTvTipColor() {
     private fun upTvTipColor() {
@@ -75,6 +78,14 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) {
             }
             }
     }
     }
 
 
+    private fun upTvTipDividerColor() {
+        binding.tvTipDividerColor.text = when (ReadTipConfig.tipDividerColor) {
+            -1 -> "默认"
+            0 -> "跟随文字颜色"
+            else -> "#${ReadTipConfig.tipDividerColor.hexString}"
+        }
+    }
+
     private fun initEvent() = binding.run {
     private fun initEvent() = binding.run {
         rgTitleMode.setOnCheckedChangeListener { _, checkedId ->
         rgTitleMode.setOnCheckedChangeListener { _, checkedId ->
             ReadBookConfig.titleMode = rgTitleMode.getIndexById(checkedId)
             ReadBookConfig.titleMode = rgTitleMode.getIndexById(checkedId)
@@ -178,6 +189,22 @@ class TipConfigDialog : BaseDialogFragment(R.layout.dialog_tip_config) {
                 }
                 }
             }
             }
         }
         }
+        llTipDividerColor.setOnClickListener {
+            context?.selector(items = arrayListOf("默认", "跟随文字颜色", "自定义")) { _, i ->
+                when (i) {
+                    0, 1 -> {
+                        ReadTipConfig.tipDividerColor = i - 1
+                        upTvTipDividerColor()
+                        postEvent(EventBus.UP_CONFIG, true)
+                    }
+                    2 -> ColorPickerDialog.newBuilder()
+                        .setShowAlphaSlider(false)
+                        .setDialogType(ColorPickerDialog.TYPE_CUSTOM)
+                        .setDialogId(TIP_DIVIDER_COLOR)
+                        .show(requireActivity())
+                }
+            }
+        }
     }
     }
 
 
     private fun clearRepeat(repeat: Int) = ReadTipConfig.apply {
     private fun clearRepeat(repeat: Int) = ReadTipConfig.apply {

+ 10 - 0
app/src/main/java/io/legado/app/ui/book/read/page/PageView.kt

@@ -2,6 +2,7 @@ package io.legado.app.ui.book.read.page
 
 
 import android.annotation.SuppressLint
 import android.annotation.SuppressLint
 import android.content.Context
 import android.content.Context
+import android.graphics.Color
 import android.view.LayoutInflater
 import android.view.LayoutInflater
 import android.widget.FrameLayout
 import android.widget.FrameLayout
 import androidx.core.view.isGone
 import androidx.core.view.isGone
@@ -70,12 +71,21 @@ class PageView(context: Context) : FrameLayout(context) {
             val tipColor = with(ReadTipConfig) {
             val tipColor = with(ReadTipConfig) {
                 if (tipColor == 0) it.textColor else tipColor
                 if (tipColor == 0) it.textColor else tipColor
             }
             }
+            val tipDividerColor = with(ReadTipConfig) {
+                when (tipDividerColor) {
+                    -1 -> Color.parseColor("#66666666")
+                    0 -> tipColor
+                    else -> tipDividerColor
+                }
+            }
             tvHeaderLeft.setColor(tipColor)
             tvHeaderLeft.setColor(tipColor)
             tvHeaderMiddle.setColor(tipColor)
             tvHeaderMiddle.setColor(tipColor)
             tvHeaderRight.setColor(tipColor)
             tvHeaderRight.setColor(tipColor)
             tvFooterLeft.setColor(tipColor)
             tvFooterLeft.setColor(tipColor)
             tvFooterMiddle.setColor(tipColor)
             tvFooterMiddle.setColor(tipColor)
             tvFooterRight.setColor(tipColor)
             tvFooterRight.setColor(tipColor)
+            vwTopDivider.backgroundColor = tipDividerColor
+            vwBottomDivider.backgroundColor = tipDividerColor
             upStatusBar()
             upStatusBar()
             llHeader.setPadding(
             llHeader.setPadding(
                 it.headerPaddingLeft.dpToPx(),
                 it.headerPaddingLeft.dpToPx(),

+ 16 - 2
app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt

@@ -8,7 +8,6 @@ import android.view.Menu
 import android.view.MenuItem
 import android.view.MenuItem
 import androidx.activity.viewModels
 import androidx.activity.viewModels
 import androidx.appcompat.widget.SearchView
 import androidx.appcompat.widget.SearchView
-import androidx.core.view.isGone
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentPagerAdapter
 import androidx.fragment.app.FragmentPagerAdapter
 import com.google.android.material.tabs.TabLayout
 import com.google.android.material.tabs.TabLayout
@@ -19,8 +18,10 @@ import io.legado.app.help.book.isLocalTxt
 import io.legado.app.help.config.AppConfig
 import io.legado.app.help.config.AppConfig
 import io.legado.app.lib.theme.accentColor
 import io.legado.app.lib.theme.accentColor
 import io.legado.app.lib.theme.primaryTextColor
 import io.legado.app.lib.theme.primaryTextColor
+import io.legado.app.model.ReadBook
 import io.legado.app.ui.about.AppLogDialog
 import io.legado.app.ui.about.AppLogDialog
 import io.legado.app.ui.book.toc.rule.TxtTocRuleDialog
 import io.legado.app.ui.book.toc.rule.TxtTocRuleDialog
+import io.legado.app.ui.widget.dialog.WaitDialog
 import io.legado.app.utils.applyTint
 import io.legado.app.utils.applyTint
 import io.legado.app.utils.gone
 import io.legado.app.utils.gone
 import io.legado.app.utils.showDialogFragment
 import io.legado.app.utils.showDialogFragment
@@ -30,7 +31,8 @@ import io.legado.app.utils.visible
 /**
 /**
  * 目录
  * 目录
  */
  */
-class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
+class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
+    TxtTocRuleDialog.CallBack {
 
 
     override val binding by viewBinding(ActivityChapterListBinding::inflate)
     override val binding by viewBinding(ActivityChapterListBinding::inflate)
     override val viewModel by viewModels<TocViewModel>()
     override val viewModel by viewModels<TocViewModel>()
@@ -38,6 +40,7 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
     private lateinit var tabLayout: TabLayout
     private lateinit var tabLayout: TabLayout
     private var menu: Menu? = null
     private var menu: Menu? = null
     private var searchView: SearchView? = null
     private var searchView: SearchView? = null
+    private val waitDialog by lazy { WaitDialog(this) }
 
 
     override fun onActivityCreated(savedInstanceState: Bundle?) {
     override fun onActivityCreated(savedInstanceState: Bundle?) {
         tabLayout = binding.titleBar.findViewById(R.id.tab_layout)
         tabLayout = binding.titleBar.findViewById(R.id.tab_layout)
@@ -122,6 +125,17 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
         return super.onCompatOptionsItemSelected(item)
         return super.onCompatOptionsItemSelected(item)
     }
     }
 
 
+    override fun onTocRegexDialogResult(tocRegex: String) {
+        ReadBook.book?.let { book ->
+            book.tocUrl = tocRegex
+            waitDialog.show()
+            ReadBook.callBack?.loadChapterList(book) {
+                viewModel.initBook(book.bookUrl)
+                waitDialog.dismiss()
+            }
+        }
+    }
+
     @Suppress("DEPRECATION")
     @Suppress("DEPRECATION")
     private inner class TabFragmentPageAdapter :
     private inner class TabFragmentPageAdapter :
         FragmentPagerAdapter(supportFragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
         FragmentPagerAdapter(supportFragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {

+ 26 - 0
app/src/main/res/layout/dialog_tip_config.xml

@@ -322,6 +322,32 @@
 
 
         </LinearLayout>
         </LinearLayout>
 
 
+        <LinearLayout
+            android:id="@+id/ll_tip_divider_color"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            tools:ignore="RtlHardcoded,RtlSymmetry">
+
+            <TextView
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:padding="6dp"
+                android:text="@string/tip_divider_color"
+                android:textColor="@color/primaryText" />
+
+            <TextView
+                android:id="@+id/tv_tip_divider_color"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:padding="6dp"
+                android:textColor="@color/primaryText"
+                tools:text="@string/tip_divider_color" />
+
+        </LinearLayout>
+
     </LinearLayout>
     </LinearLayout>
 
 
 </androidx.core.widget.NestedScrollView>
 </androidx.core.widget.NestedScrollView>

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

@@ -1059,4 +1059,5 @@
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="refresh_list">刷新列表</string>
     <string name="refresh_list">刷新列表</string>
+    <string name="tip_divider_color">分隔线颜色</string>
 </resources>
 </resources>

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

@@ -1062,4 +1062,5 @@
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="refresh_list">刷新列表</string>
     <string name="refresh_list">刷新列表</string>
+    <string name="tip_divider_color">分隔线颜色</string>
 </resources>
 </resources>

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

@@ -1062,4 +1062,5 @@
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="refresh_list">刷新列表</string>
     <string name="refresh_list">刷新列表</string>
+    <string name="tip_divider_color">分隔线颜色</string>
 </resources>
 </resources>

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

@@ -1059,4 +1059,5 @@
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="refresh_list">刷新列表</string>
     <string name="refresh_list">刷新列表</string>
+    <string name="tip_divider_color">分隔线颜色</string>
 </resources>
 </resources>

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

@@ -1061,4 +1061,5 @@
     <string name="replace_state_change">取代(啟用/禁用)</string>
     <string name="replace_state_change">取代(啟用/禁用)</string>
     <string name="show_last_update_time">顯示上次更新時間</string>
     <string name="show_last_update_time">顯示上次更新時間</string>
     <string name="refresh_list">刷新列表</string>
     <string name="refresh_list">刷新列表</string>
+    <string name="tip_divider_color">分隔线颜色</string>
 </resources>
 </resources>

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

@@ -1061,4 +1061,5 @@
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="refresh_list">刷新列表</string>
     <string name="refresh_list">刷新列表</string>
+    <string name="tip_divider_color">分隔线颜色</string>
 </resources>
 </resources>

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

@@ -1062,4 +1062,5 @@
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="replace_state_change">替换(启用/禁用)</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="show_last_update_time">显示上次更新时间</string>
     <string name="refresh_list">刷新列表</string>
     <string name="refresh_list">刷新列表</string>
+    <string name="tip_divider_color">分隔线颜色</string>
 </resources>
 </resources>