|
|
@ -57,18 +57,18 @@ class SwipeGestureLayout @JvmOverloads constructor(
|
|
|
|
) : FrameLayout(context, attrs, defStyleAttr) {
|
|
|
|
) : FrameLayout(context, attrs, defStyleAttr) {
|
|
|
|
|
|
|
|
|
|
|
|
private val gestureListener = object : GestureDetector.SimpleOnGestureListener() {
|
|
|
|
private val gestureListener = object : GestureDetector.SimpleOnGestureListener() {
|
|
|
|
override fun onDown(e: MotionEvent?): Boolean {
|
|
|
|
override fun onDown(e: MotionEvent): Boolean {
|
|
|
|
return true
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
override fun onScroll(
|
|
|
|
override fun onScroll(
|
|
|
|
e1: MotionEvent?,
|
|
|
|
e1: MotionEvent,
|
|
|
|
e2: MotionEvent?,
|
|
|
|
e2: MotionEvent,
|
|
|
|
distanceX: Float,
|
|
|
|
distanceX: Float,
|
|
|
|
distanceY: Float,
|
|
|
|
distanceY: Float,
|
|
|
|
): Boolean {
|
|
|
|
): Boolean {
|
|
|
|
val start = e1?.let { event -> PointF(event.rawX, event.rawY) } ?: return false
|
|
|
|
val start = e1.let { event -> PointF(event.rawX, event.rawY) }
|
|
|
|
val next = e2?.let { event -> PointF(event.rawX, event.rawY) } ?: return false
|
|
|
|
val next = e2.let { event -> PointF(event.rawX, event.rawY) }
|
|
|
|
|
|
|
|
|
|
|
|
if (activeListener == null && !handledInitialScroll) {
|
|
|
|
if (activeListener == null && !handledInitialScroll) {
|
|
|
|
activeListener = listeners.firstOrNull { listener ->
|
|
|
|
activeListener = listeners.firstOrNull { listener ->
|
|
|
@ -81,8 +81,8 @@ class SwipeGestureLayout @JvmOverloads constructor(
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
override fun onFling(
|
|
|
|
override fun onFling(
|
|
|
|
e1: MotionEvent?,
|
|
|
|
e1: MotionEvent,
|
|
|
|
e2: MotionEvent?,
|
|
|
|
e2: MotionEvent,
|
|
|
|
velocityX: Float,
|
|
|
|
velocityX: Float,
|
|
|
|
velocityY: Float,
|
|
|
|
velocityY: Float,
|
|
|
|
): Boolean {
|
|
|
|
): Boolean {
|
|
|
|