Rainbow Button 2
Enhanced button component with customizable gradient border animation
An enhanced version of the Rainbow Button with improved gradient border animations and additional customization options.
Installation
Import
Props
Prop | Type | Required | Default | Description |
---|---|---|---|---|
onPress | () => void | Yes | - | Function called when pressed |
colors | string[] | No | ['#1DB954', '#00ff4e', '#333'] | Gradient colors array |
duration | number | No | ANIMATION_DURATION.D30 | Animation duration |
bgColor | string | No | theme.background | Background color |
height | number | No | BUTTON_HEIGHT.md | Button height |
borderRadius | number | No | BORDER_RADIUS.md | Border radius |
m | number | No | - | Margin override |
style | ViewStyle | No | - | Container style |
buttonStyle | ViewStyle | No | - | Inner button style |
Examples
Basic Usage
Custom Configuration
With Theme Integration
Features
-
Enhanced gradient border animation
-
Improved performance over RainbowButton
-
More customization options
-
Smoother transitions
-
Better theme integration
-
Optimized render cycles
Animation Details
The enhanced gradient animation uses:
-
Reanimated 2’s native driver
-
Optimized color interpolation
-
Improved gradient positioning
-
Smoother rotation transitions
Style Guidelines
-
Color Selection:
-
Use complementary colors for gradients
-
Maintain proper contrast with content
-
Consider theme compatibility
-
-
Animation Timing:
-
Keep duration between 2-4 seconds
-
Use smooth easing functions
-
Consider reduced motion preferences
-
-
Layout:
-
Maintain consistent spacing with
m
prop -
Use standard height values
-
Consider button hierarchy in UI
-
Performance Notes
-
Uses native thread for animations
-
Optimized gradient calculations
-
Minimal JS bridge communication
-
Efficient rerender prevention
Was this page helpful?