diff --git a/recyclerviewfastscroller/src/main/java/com/qtalk/recyclerviewfastscroller/RecyclerViewFastScroller.kt b/recyclerviewfastscroller/src/main/java/com/qtalk/recyclerviewfastscroller/RecyclerViewFastScroller.kt
index afd176d..b665875 100644
--- a/recyclerviewfastscroller/src/main/java/com/qtalk/recyclerviewfastscroller/RecyclerViewFastScroller.kt
+++ b/recyclerviewfastscroller/src/main/java/com/qtalk/recyclerviewfastscroller/RecyclerViewFastScroller.kt
@@ -133,6 +133,7 @@ class RecyclerViewFastScroller @JvmOverloads constructor(
const val hasEmptyItemDecorator: Boolean = true
const val handleVisibilityDuration: Int = 0
const val trackMargin: Int = 0
+ const val disableTrack = false
}
/**
@@ -214,6 +215,7 @@ class RecyclerViewFastScroller @JvmOverloads constructor(
field = value
refreshHandleImageViewSize()
}
+ var disableTrack: Boolean = Defaults.disableTrack
/**
* The duration for which the handle should remain visible, defaults to -1 (don't hide)
@@ -364,6 +366,9 @@ class RecyclerViewFastScroller @JvmOverloads constructor(
Defaults.trackMargin
)
+ disableTrack =
+ attribs.getBoolean(R.styleable.RecyclerViewFastScroller_disableTrack, Defaults.disableTrack)
+
TextViewCompat.setTextAppearance(
popupTextView,
attribs.getResourceId(
@@ -409,6 +414,23 @@ class RecyclerViewFastScroller @JvmOverloads constructor(
when (touchAction) {
MotionEvent.ACTION_MOVE, MotionEvent.ACTION_DOWN -> {
+ val handlePosition = IntArray(2).also {
+ handleImageView.getLocationOnScreen(it)
+ }
+ if (disableTrack) {
+ when (fastScrollDirection) {
+ FastScrollDirection.HORIZONTAL -> {
+ val handleRange = handlePosition[0].toFloat() .. handlePosition[0]+handleLength
+ if (!handleRange.contains(motionEvent.rawX))
+ return@OnTouchListener false
+ }
+ FastScrollDirection.VERTICAL -> {
+ val handleRange = handlePosition[1].toFloat() .. handlePosition[1]+handleLength
+ if (!handleRange.contains(motionEvent.rawY))
+ return@OnTouchListener false
+ }
+ }
+ }
// disallow parent to spy on touch events
requestDisallowInterceptTouchEvent(true)
diff --git a/recyclerviewfastscroller/src/main/res/values/attrs.xml b/recyclerviewfastscroller/src/main/res/values/attrs.xml
index f69cdcb..f8ddec6 100644
--- a/recyclerviewfastscroller/src/main/res/values/attrs.xml
+++ b/recyclerviewfastscroller/src/main/res/values/attrs.xml
@@ -19,10 +19,12 @@
-
+
+
+
\ No newline at end of file