ste
SnapLayoutInfoProvider
ScrollState
Pager
fillMaxSize
calculateSnappingOffsetBounds
value
jossiwolf
@ExperimentalFoundationApi fun SnapLayoutInfoProvider( itemCount: Int, scrollState: ScrollState, ): SnapLayoutInfoProvider = object : SnapLayoutInfoProvider { override fun Density.calculateApproachOffset(initialVelocity: Float): Float = 0f override fun Density.calculateSnappingOffsetBounds(): ClosedFloatingPointRange<Float> { val bound0 = -scrollState.value % snapStepSize() val bound1 = snapStepSize() + bound0 return (if (bound0 >= 0 && bound1 < 0) bound1.rangeTo(bound0) else bound0.rangeTo(bound1)) } override fun Density.snapStepSize(): Float = scrollState.maxValue.toFloat() / (itemCount - 1) }
levima
A modern programming language that makes developers happier.