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

Merge pull request #2304 from 821938089/little-fix

修复朗读高亮位置不对的问题
kunfei 4 лет назад
Родитель
Сommit
e0738041ce
1 измененных файлов с 3 добавлено и 2 удалено
  1. 3 2
      app/src/main/java/io/legado/app/ui/book/read/page/entities/TextPage.kt

+ 3 - 2
app/src/main/java/io/legado/app/ui/book/read/page/entities/TextPage.kt

@@ -149,7 +149,8 @@ data class TextPage(
         removePageAloudSpan()
         removePageAloudSpan()
         var lineStart = 0
         var lineStart = 0
         for ((index, textLine) in textLines.withIndex()) {
         for ((index, textLine) in textLines.withIndex()) {
-            if (aloudSpanStart > lineStart && aloudSpanStart < lineStart + textLine.text.length) {
+            val lineLength = textLine.text.length + if (textLine.isParagraphEnd) 1 else 0
+            if (aloudSpanStart > lineStart && aloudSpanStart < lineStart + lineLength) {
                 for (i in index - 1 downTo 0) {
                 for (i in index - 1 downTo 0) {
                     if (textLines[i].isParagraphEnd) {
                     if (textLines[i].isParagraphEnd) {
                         break
                         break
@@ -167,7 +168,7 @@ data class TextPage(
                 }
                 }
                 break
                 break
             }
             }
-            lineStart += textLine.text.length
+            lineStart += lineLength
         }
         }
     }
     }