Skip to content

Transitions

ColumnTransitionSpec

Controls the visual transition when the column count changes.

None (default)

Google Photos style — instant reflow, no animation. This is the default because it matches the behavior users expect from photo grid apps.

PinchGrid(
state = state,
transitionSpec = ColumnTransitionSpec.None,
) { /* content */ }

Crossfade

Smooth opacity transition between the old and new column layouts.

PinchGrid(
state = state,
transitionSpec = ColumnTransitionSpec.Crossfade(durationMillis = 200),
) { /* content */ }

The crossfade uses AnimatedContent with fadeIn/fadeOut internally.

Choosing a transition

TransitionUse case
NonePhoto galleries, media grids — instant feedback feels right
CrossfadeContent grids, dashboards — smoother but slightly delayed