修复滚动模式下,长按选择错乱问题

This commit is contained in:
du 2021-10-25 11:36:45 +08:00
parent d2c7512e6d
commit fb5e178678
3 changed files with 8 additions and 3 deletions

View File

@ -524,7 +524,7 @@ class ContentTextView(context: Context, attrs: AttributeSet?) : View(context, at
}
}
private fun relativePage(relativePos: Int): TextPage {
fun relativePage(relativePos: Int): TextPage {
return when (relativePos) {
0 -> textPage
1 -> pageFactory.nextPage

View File

@ -271,6 +271,10 @@ class PageView(context: Context) : FrameLayout(context) {
return binding.contentTextView.createBookmark()
}
fun relativePage(relativePos: Int): TextPage {
return binding.contentTextView.relativePage(relativePos)
}
val selectedText: String get() = binding.contentTextView.selectedText
val textPage get() = binding.contentTextView.textPage

View File

@ -265,8 +265,9 @@ class ReadView(context: Context, attrs: AttributeSet) :
*/
private fun onLongPress() {
kotlin.runCatching {
with(curPage.textPage) {
curPage.selectText(startX, startY) { relativePage, lineIndex, charIndex ->
curPage.selectText(startX, startY) { relativePage, lineIndex, charIndex ->
val page = if (isScroll) curPage.relativePage(relativePage) else curPage.textPage
with(page) {
isTextSelected = true
firstRelativePage = relativePage
firstLineIndex = lineIndex