mirror of
https://github.com/BetterAndroid/FlexiUI.git
synced 2025-09-08 11:34:18 +08:00
fix: value offset X not sync to track width changed in Slider
This commit is contained in:
@@ -198,7 +198,9 @@ private fun SliderLayout(
|
|||||||
val offsetXFromValue = (value.coerceIn(min, max) - min) / (max - min) * maxOffsetX
|
val offsetXFromValue = (value.coerceIn(min, max) - min) / (max - min) * maxOffsetX
|
||||||
val steppedOffsetXFromValue = offsetXFromValue.withSteps()
|
val steppedOffsetXFromValue = offsetXFromValue.withSteps()
|
||||||
var absOffsetX by remember { mutableStateOf(0f) }
|
var absOffsetX by remember { mutableStateOf(0f) }
|
||||||
var offsetX by remember { mutableStateOf(steppedOffsetXFromValue) }
|
var offsetX by remember { mutableStateOf(0f) }
|
||||||
|
// Needs update every time when [value] or [trackWidth] changed.
|
||||||
|
offsetX = steppedOffsetXFromValue
|
||||||
val animatedOffsetX by animateFloatAsState(offsetX)
|
val animatedOffsetX by animateFloatAsState(offsetX)
|
||||||
val adoptedOffsetX = if (tapped && !dragging) animatedOffsetX else offsetX
|
val adoptedOffsetX = if (tapped && !dragging) animatedOffsetX else offsetX
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user