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);