diff --git a/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt b/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt
index ec389c3ca..c0d9e8bc7 100644
--- a/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt
+++ b/app/src/main/java/io/legado/app/help/config/ReadBookConfig.kt
@@ -415,6 +415,12 @@ object ReadBookConfig {
config.underlineHeight = value
}
+ var underlinePadding: Int
+ get() = config.underlinePadding
+ set(value) {
+ config.underlinePadding = value
+ }
+
var dottedLine: Boolean
get() = config.dottedLine
set(value) {
@@ -593,6 +599,7 @@ object ReadBookConfig {
exportConfig.paragraphIndent = shareConfig.paragraphIndent
exportConfig.underline = shareConfig.underline
exportConfig.underlineHeight = shareConfig.underlineHeight
+ exportConfig.underlinePadding = shareConfig.underlinePadding
exportConfig.dottedLine = shareConfig.dottedLine
exportConfig.dottedBase = shareConfig.dottedBase
exportConfig.dottedRatio = shareConfig.dottedRatio
@@ -710,6 +717,7 @@ object ReadBookConfig {
var titleSegFlag: String = "",//分段判断,碰到指定值时分段
var paragraphIndent: String = " ",//段落缩进
var underline: Boolean = false, //下划线
+ var underlinePadding: Int = 10,
var underlineHeight: Int = 1,
var underlineColor: String = "#3E3D3B",
var underlineColorNight: String = "#ADADAD",
diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/UnderlineConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/UnderlineConfigDialog.kt
index 7fbd5789c..7d60dd0ca 100644
--- a/app/src/main/java/io/legado/app/ui/book/read/config/UnderlineConfigDialog.kt
+++ b/app/src/main/java/io/legado/app/ui/book/read/config/UnderlineConfigDialog.kt
@@ -2,12 +2,12 @@ package io.legado.app.ui.book.read.config
import android.os.Bundle
import android.view.View
-import io.legado.app.help.config.ReadBookConfig
import com.jaredrummler.android.colorpicker.ColorPickerDialog
import io.legado.app.R
import io.legado.app.base.BaseBottomSheetDialogFragment
import io.legado.app.constant.EventBus
import io.legado.app.databinding.DialogUnderlineConfigBinding
+import io.legado.app.help.config.ReadBookConfig
import io.legado.app.help.config.ReadBookConfig.dottedLine
import io.legado.app.help.config.ReadBookConfig.underline
import io.legado.app.utils.observeEvent
@@ -87,6 +87,14 @@ class UnderlineConfigDialog : BaseBottomSheetDialogFragment(R.layout.dialog_unde
postEvent(EventBus.UP_CONFIG, arrayListOf(8, 9, 6))
}
}
+
+ binding.btnUnderlinePadding.apply {
+ progress = ReadBookConfig.underlinePadding
+ onChanged = {
+ ReadBookConfig.underlinePadding = it
+ postEvent(EventBus.UP_CONFIG, arrayListOf(8, 9, 6))
+ }
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextLine.kt b/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextLine.kt
index 9e54a9932..1ee520669 100644
--- a/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextLine.kt
+++ b/app/src/main/java/io/legado/app/ui/book/read/page/entities/TextLine.kt
@@ -220,7 +220,7 @@ data class TextLine(
* 绘制下划线
*/
private fun drawUnderline(canvas: Canvas, dottedLine: Boolean) {
- val paint = ChapterProvider.linePaint
+ val paint = ChapterProvider.contentPaint
paint.color = ReadBookConfig.durConfig.curUnderlineColor()
paint.strokeWidth = ReadBookConfig.underlineHeight.toFloat()
paint.pathEffect = if (dottedLine && !AppConfig.isEInkMode)
@@ -228,7 +228,7 @@ data class TextLine(
else
null
- val lineY = height - 1.dpToPx()
+ val lineY = height + (ReadBookConfig.durConfig.underlinePadding - 10).dpToPx()
canvas.drawLine(lineStart + indentWidth, lineY, lineEnd, lineY, paint)
}
diff --git a/app/src/main/res/layout/dialog_underline_config.xml b/app/src/main/res/layout/dialog_underline_config.xml
index 928c633a4..9d25d84d5 100644
--- a/app/src/main/res/layout/dialog_underline_config.xml
+++ b/app/src/main/res/layout/dialog_underline_config.xml
@@ -66,12 +66,29 @@
-
+ android:gravity="bottom">
+
+
+
+
+
+