Skip to content

Commit

Permalink
Merge pull request #6612 from grzesiek2010/COLLECT-6607
Browse files Browse the repository at this point in the history
Fixed touch tracking in the range slider
  • Loading branch information
grzesiek2010 authored Feb 17, 2025
2 parents 6ff8230 + 5320f9c commit 572b326
Showing 1 changed file with 8 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ import android.annotation.SuppressLint
import android.content.Context
import android.content.res.ColorStateList
import android.util.AttributeSet
import android.view.MotionEvent
import android.view.View
import com.google.android.material.R
import com.google.android.material.color.MaterialColors
import com.google.android.material.slider.Slider
Expand All @@ -27,24 +25,16 @@ class TrackingTouchSlider(
init {
addOnSliderTouchListener(this)
setLabelFormatter(null)
setOnTouchListener { v: View, event: MotionEvent ->
val action = event.action
when (action) {
MotionEvent.ACTION_DOWN -> v.parent.requestDisallowInterceptTouchEvent(
true
)
addOnSliderTouchListener(object : OnSliderTouchListener {
override fun onStartTrackingTouch(slider: Slider) {}

MotionEvent.ACTION_UP -> {
v.parent.requestDisallowInterceptTouchEvent(false)
setTickActiveTintList(defaultTickActiveTintList)
setThumbWidth(defaultThumbWidth)
setThumbTrackGapSize(defaultThumbTrackGapSize)
listener?.onValueChange(this, value, true)
}
override fun onStopTrackingTouch(slider: Slider) {
setTickActiveTintList(defaultTickActiveTintList)
setThumbWidth(defaultThumbWidth)
setThumbTrackGapSize(defaultThumbTrackGapSize)
listener?.onValueChange(this@TrackingTouchSlider, value, true)
}
v.onTouchEvent(event)
true
}
})
}

@SuppressLint("RestrictedApi")
Expand Down

0 comments on commit 572b326

Please sign in to comment.