expo-native-ui
Build native-feeling Expo screens: Apple HIG styling, semantic colors, native controls, SF Symbols, media, visual effects, gradients and responsive layout.
Install
npx skills add https://github.com/expo/skills --skill expo-native-uiVisual Effects
Backdrop Blur
Use expo-blur for blur effects. Prefer systemMaterial tints as they adapt to dark mode.
Tint Options
Intensity
Control blur strength with intensity (0-100):
Rounded Corners
BlurView requires overflow: 'hidden' to clip rounded corners:
Overlay Pattern
Common pattern for overlaying blur on content:
Glass Effects (iOS 26+)
Use expo-glass-effect for liquid glass backdrops on iOS 26+.
Interactive Glass
Add isInteractive for buttons and pressable glass:
Glass Buttons
Create liquid glass buttons:
Glass Card
Checking Availability
Check both guards: isLiquidGlassAvailable() (OS support) and isGlassEffectAPIAvailable() — some iOS 26 beta versions lack the API and crash without the second check.
Fallback Pattern
When the user has Reduce Transparency enabled (AccessibilityInfo.isReduceTransparencyEnabled()), skip glass and blur — render a solid colors.systemBackground surface instead.
Sheet with Glass Background
Make sheet backgrounds liquid glass on iOS 26+:
Best Practices
- Use
systemMaterialtints for automatic dark mode support - Always set
overflow: 'hidden'on BlurView for rounded corners — but never on aGlassViewor its ancestors: glass clips itself viaborderRadius(+borderCurve), and outside clipping cuts off the rim highlight and press bulge - Use
isInteractiveon GlassView only for actual controls (buttons, pressables) — leave background surfaces non-interactive - Check
isLiquidGlassAvailable()andisGlassEffectAPIAvailable(), provide fallbacks, and respect Reduce Transparency with a solid surface - Never animate opacity on a
GlassViewor an ancestor — animate content around a stable glass surface, or switchglassEffectStyleon the mounted view to change its look - Avoid nesting blur views (performance impact)
- Keep blur intensity reasonable (50-100) for readability