Button Components
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
- Maintain consistent spacing with
Performance Notes
- Uses native thread for animations
- Optimized gradient calculations
- Minimal JS bridge communication
- Efficient rerender prevention
Was this page helpful?