feat: 优化代码

pull/117/head
kunfei 5 years ago
parent 57c9216bcf
commit 2fec158533
  1. 16
      app/src/main/java/io/legado/app/ui/book/read/page/delegate/HorizontalPageDelegate.kt
  2. 11
      app/src/main/java/io/legado/app/ui/book/read/page/delegate/PageDelegate.kt

@ -1,5 +1,6 @@
package io.legado.app.ui.book.read.page.delegate
import android.util.Log
import android.view.MotionEvent
import io.legado.app.ui.book.read.page.PageView
import kotlin.math.abs
@ -9,6 +10,17 @@ abstract class HorizontalPageDelegate(pageView: PageView) : PageDelegate(pageVie
override fun onTouch(event: MotionEvent) {
when (event.action) {
MotionEvent.ACTION_MOVE -> {
if (isTextSelected) {
Log.e("selected", "--------------------------")
} else {
scroll(event)
}
}
}
super.onTouch(event)
}
private fun scroll(event: MotionEvent) {
//判断是否移动了
if (!isMoved) {
isMoved = abs(startX - event.x) > slop || abs(startY - event.y) > slop
@ -40,7 +52,3 @@ abstract class HorizontalPageDelegate(pageView: PageView) : PageDelegate(pageVie
}
}
}
super.onTouch(event)
}
}

@ -65,6 +65,7 @@ abstract class PageDelegate(protected val pageView: PageView) :
var isRunning = false
var isStarted = false
var isTextSelected = false
var selectedOnDown = false
open fun setStartPoint(x: Float, y: Float, invalidate: Boolean = true) {
startX = x
@ -210,8 +211,8 @@ abstract class PageDelegate(protected val pageView: PageView) :
if (!detector.onTouchEvent(event)) {
//GestureDetector.onFling小幅移动不会触发,所以要自己判断
if (event.action == MotionEvent.ACTION_UP && isMoved) {
if (isTextSelected) {
isTextSelected = false
if (selectedOnDown) {
selectedOnDown = false
}
if (!noNext) onAnimStart()
}
@ -224,6 +225,8 @@ abstract class PageDelegate(protected val pageView: PageView) :
override fun onDown(e: MotionEvent): Boolean {
if (isTextSelected) {
curPage.cancelSelect()
isTextSelected = false
selectedOnDown = true
}
//是否移动
isMoved = false
@ -244,8 +247,8 @@ abstract class PageDelegate(protected val pageView: PageView) :
* 单击
*/
override fun onSingleTapUp(e: MotionEvent): Boolean {
if (isTextSelected) {
isTextSelected = false
if (selectedOnDown) {
selectedOnDown = false
return true
}
val x = e.x

Loading…
Cancel
Save