A premium, GPU-accelerated, zero-dependency fluid animated mesh gradient background library for React Native and Expo (iOS, Android, and Web).
Create stunning, floating "Stripe-like" or "Apple-like" dynamic neon mesh backgrounds with absolute ease. Every single color blob slides, breathes, and morphs in an organic, non-repeating pattern, rendering fluidly at a solid 60FPS directly on the device hardware thread.
- GPU Hardware Accelerated: All movement and scale translations are executed entirely on the native UI driver thread (
useNativeDriver: true), ensuring zero JS main-thread overhead. - 100% Zero Native Dependencies: Requires no native linking, SVG packages, or canvas canvas bindings. Works perfectly out-of-the-box in managed Expo and bare React Native.
- Completely Adaptive: Automatically measures its wrapper boundary (
onLayout) to scale and float blobs proportionally, making it perfect for full-screen backdrops, headers, or smaller card components. - Infinite Customization: Feed any color array, tweak animation velocities, adjust individual opacities, and control blob sizing to build unique UI themes.
- Pure Platform Independence: Renders identically on iOS, Android, and Web browsers.
npm install react-native-liquid-gradientsor with Yarn:
yarn add react-native-liquid-gradientsCreate a gorgeous neon cyberpunk sunset space behind your screen elements:
import React from 'react';
import { StyleSheet, View, Text } from 'react-native';
import { LiquidGradient } from 'react-native-liquid-gradients';
export default function App() {
return (
<View style={styles.container}>
{/* Dynamic background */}
<LiquidGradient
colors={['#C084FC', '#38BDF8', '#F472B6', '#FBBF24']} // purple, cyan, pink, amber
backgroundColor="#080710" // deep rich dark indigo/black space
speed={15000} // relaxed slow drift
opacity={0.4}
/>
{/* Foreground elements */}
<View style={styles.content}>
<Text style={styles.title}>Liquid Gradients</Text>
<Text style={styles.subtitle}>Fluid 60FPS native mesh animations</Text>
</View>
</View>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
content: {
alignItems: 'center',
},
title: {
fontSize: 32,
fontWeight: 'bold',
color: '#FFFFFF',
letterSpacing: 0.5,
},
subtitle: {
fontSize: 16,
color: 'rgba(255, 255, 255, 0.65)',
marginTop: 8,
},
});Combine this package with your frosted glass component library for a breath-taking Glassmorphic UI:
import React from 'react';
import { StyleSheet, View, Text } from 'react-native';
import { LiquidGradient } from 'react-native-liquid-gradients';
import { GlassmorphicCard } from 'react-native-glassmorphic'; // Your custom glassmorphic package!
export default function GlassLoginScreen() {
return (
<View style={styles.screen}>
{/* Liquid background mesh */}
<LiquidGradient
colors={['#F43F5E', '#10B981', '#3B82F6', '#8B5CF6']} // rose, emerald, blue, violet
backgroundColor="#09090B"
speed={12000}
/>
{/* Floating glassmorphic card on top */}
<GlassmorphicCard
intensity={35}
tint="light"
borderRadius={24}
style={styles.card}
>
<Text style={styles.logo}>Whimo</Text>
<Text style={styles.welcome}>Welcome to the Future</Text>
<Text style={styles.details}>Secure account credentials parsed in real-time.</Text>
</GlassmorphicCard>
</View>
);
}
const styles = StyleSheet.create({
screen: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
card: {
padding: 32,
width: 340,
alignItems: 'center',
},
logo: {
fontSize: 28,
fontWeight: 'bold',
color: '#FFFFFF',
},
welcome: {
fontSize: 18,
color: '#F4F4F5',
fontWeight: '600',
marginTop: 12,
},
details: {
fontSize: 14,
color: 'rgba(244, 244, 245, 0.6)',
textAlign: 'center',
marginTop: 6,
},
});| Prop | Type | Default | Description |
|---|---|---|---|
colors |
string[] |
['#C084FC', '#38BDF8', '#F472B6', '#FBBF24'] |
Array of hex color strings to assign to floating blobs. |
backgroundColor |
string |
'#09090B' |
Base background canvas color underneath the blobs. |
speed |
number |
14000 |
Base duration (ms) for anim loop. A higher number is slower and more relaxing. |
opacity |
number |
0.45 |
Translucency level of individual floating color circles ( |
blobSize |
number |
Auto-Calculated | Base size (pixels) of the blurred circles. Overridden for custom densities. |
style |
StyleProp<ViewStyle> |
undefined |
Custom layout overrides for the outer container absolute canvas. |
This package is licensed under the MIT License.