Skip to content

PinchGridDefaults

Constants

object PinchGridDefaults {
const val InitialColumnCount: Int = 3
const val MinColumns: Int = 1
const val MaxColumns: Int = 5
const val ThresholdFraction: Float = 0.45f
const val DeadZone: Float = 0.01f
const val PinchOutThresholdMultiplier: Float = 0.85f
val TransitionSpec: ColumnTransitionSpec = ColumnTransitionSpec.None
}

Reference

ConstantValueDescription
InitialColumnCount3Default starting columns
MinColumns1Default minimum (fully zoomed in)
MaxColumns5Default maximum (fully zoomed out)
ThresholdFraction0.45fScale change needed to trigger snap
DeadZone0.01fMicro-movement filter to prevent jitter
PinchOutThresholdMultiplier0.85fMakes pinch-out 15% easier than pinch-in
TransitionSpecNoneGoogle Photos-style instant reflow

ColumnTransitionSpec

sealed class ColumnTransitionSpec {
data object None : ColumnTransitionSpec()
data class Crossfade(val durationMillis: Int = 200) : ColumnTransitionSpec()
}