VerticalFastScroller: Fix incorrect touch target (#7384)

This commit is contained in:
Ivan Iskandar 2022-06-26 23:58:31 +07:00 committed by GitHub
parent c33e5c8a17
commit 9ff6ae81bd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -114,18 +114,6 @@ fun VerticalFastScroller(
Box(
modifier = Modifier
.offset { IntOffset(0, thumbOffsetY.roundToInt()) }
.height(ThumbLength)
.then(
// Exclude thumb from gesture area only when needed
if (isThumbVisible && !isThumbDragged && !listState.isScrollInProgress) {
Modifier.systemGestureExclusion()
} else Modifier,
)
.padding(horizontal = 8.dp)
.padding(end = endContentPadding)
.width(ThumbThickness)
.alpha(alpha.value)
.background(color = thumbColor, shape = ThumbShape)
.then(
// Recompose opts
if (!listState.isScrollInProgress) {
@ -139,7 +127,19 @@ fun VerticalFastScroller(
},
)
} else Modifier,
),
)
.then(
// Exclude thumb from gesture area only when needed
if (isThumbVisible && !isThumbDragged && !listState.isScrollInProgress) {
Modifier.systemGestureExclusion()
} else Modifier,
)
.height(ThumbLength)
.padding(horizontal = 8.dp)
.padding(end = endContentPadding)
.width(ThumbThickness)
.alpha(alpha.value)
.background(color = thumbColor, shape = ThumbShape),
)
}.map { it.measure(scrollerConstraints) }
val scrollerWidth = scrollerPlaceable.fastMaxBy { it.width }?.width ?: 0