BothDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/rit3zh/expo-backdrop/llms.txt
Use this file to discover all available pages before exploring further.
BlurView and GaussianBlurView support animated props out of the box. Wrap either component with Reanimated’s createAnimatedComponent and drive any numeric prop — intensity, blurRadius — from a shared value. Style props such as opacity and transform work through useAnimatedStyle in the normal Reanimated way.
Animated BlurView
The most common pattern is a scroll-driven floating bar that fades its blur in as the user scrolls away from the top of the screen. WrapBlurView with createAnimatedComponent, create a scroll handler, and interpolate opacity from a shared scroll position.
opacity is a style prop, so useAnimatedStyle is the right hook here. The BlurView itself is fully rendered at all scroll positions — opacity just hides it until the user scrolls far enough.
Animated GaussianBlurView
To animate a component-specific prop such asblurRadius, use useAnimatedProps and pass the result to the animatedProps prop. This example toggles a spring animation between a sharp and a blurred state when the user taps a button.
progress with withSpring gives a natural elastic feel when the blur transitions between the two states:
animatedProps and useAnimatedStyle on the same AnimatedGaussianBlurView — for example, blurring children while simultaneously fading or scaling the view.
Tips
- Use
useAnimatedProps(notuseAnimatedStyle) to animate native component props such asintensityandblurRadius. These props are wired into the native view directly and must be passed through theanimatedPropschannel. - Use
useAnimatedStyleto animate standard React Native style props (opacity,transform,backgroundColor) on the blur view wrapper. scrollEventThrottle={16}ensures the scroll handler fires on every 16 ms frame (~60 fps). A higher value throttles updates and can cause the blur to lag noticeably behind the scroll position.interpolatewithExtrapolation.CLAMPprevents the animated value from overshooting its defined range, which would otherwise cause unintended opacity values above1or below0.
React Native Reanimated is a peer dependency — it is not bundled with expo-backdrop. Install it
separately with
expo install react-native-reanimated and follow the
Reanimated installation guide
to add the Babel plugin.