From dbb16e2a61d5c646b7688f62327b8cdf9157e007 Mon Sep 17 00:00:00 2001 From: Michele Bombardi Date: Wed, 13 Apr 2016 09:38:55 +0200 Subject: [PATCH] Slider: added start tracking and stop tracking events to OnPositionChangeListener interface. These methos will be called in OnTouchEvent callback when, respectively, ACTION_DOWN and ACTION_UP events occurs (in a similar way as Android system SeekBar) --- material/src/main/java/com/rey/material/widget/Slider.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/material/src/main/java/com/rey/material/widget/Slider.java b/material/src/main/java/com/rey/material/widget/Slider.java index 93588597..7c7f463f 100644 --- a/material/src/main/java/com/rey/material/widget/Slider.java +++ b/material/src/main/java/com/rey/material/widget/Slider.java @@ -103,6 +103,10 @@ public interface OnPositionChangeListener{ * @param newValue The new value. */ public void onPositionChanged(Slider view, boolean fromUser, float oldPos, float newPos, int oldValue, int newValue); + + public void onStartTrackingTouch(Slider view); + + public void onStopTrackingTouch(Slider view); } private OnPositionChangeListener mOnPositionChangeListener; @@ -701,6 +705,7 @@ public boolean onTouchEvent(@NonNull MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: + mOnPositionChangeListener.onStartTrackingTouch(this); mIsDragging = isThumbHit(x, y, mThumbRadius) && !mThumbMoveAnimator.isRunning(); mMemoPoint.set(x, y); if(mIsDragging) { @@ -726,6 +731,7 @@ public boolean onTouchEvent(@NonNull MotionEvent event) { } break; case MotionEvent.ACTION_UP: + mOnPositionChangeListener.onStopTrackingTouch(this); if(mIsDragging) { mIsDragging = false; setPosition(getPosition(), true, true, true);