stripes
A grainy edge sweeps across, cell by cell.
The full recording β the example app on an Android
emulator and an iOS simulator at once, with stripes played several times
over. Scrub or pause with the controls.
dissolveβs grain, ordered along direction instead of at random β a grainy edge sweeping across rather than a uniform disintegration.
Options it takes
| Option | Type | Default | What it does here |
|---|---|---|---|
direction |
'top' | 'bottom' | 'left' | 'right' |
'bottom' |
The axis the grain is ordered along. Note that angleDeg does not apply to this kind β the ladder is built per axis, not per angle.
|
durationMs |
number |
650 |
Animation length. Clamped up to this kindβs floor; 0 means no animation and is never clamped. |
settleFrames |
number |
2 |
Display frames to hold the snapshot before revealing, so the theme swap has painted underneath. |
Ignored by this kind: origin, angleDeg, shape, blurStyle, bands. Passing them is harmless.
Minimum duration
A request below 420ms is clamped up to it, natively, so both
platforms agree. Below that floor a full-screen copy coming apart has too few frames to
read as motion β the eye gets the start and the end and nothing in between, which looks
like a flicker rather than a fast transition. durationMs: 0 still means βno
animationβ and is never clamped.
Usage
withThemeTransition(applyTheme, {
kind: 'stripes',
durationMs: 650,
direction: 'bottom',
});
How it is done
| iOS | the same mask ladder, ordered along the direction |
|---|---|
| Android | the same mask ladder, ordered along the direction |