animate prop as flat values — no transform array required. You can animate any combination of properties simultaneously.
Properties Reference
| Property | Type | Default | Description |
|---|---|---|---|
opacity | number | 1 | View opacity (0–1) |
translateX | number | 0 | Horizontal translation in pixels |
translateY | number | 0 | Vertical translation in pixels |
scale | number | 1 | Uniform scale shorthand for scaleX + scaleY |
scaleX | number | 1 | Horizontal scale (overrides scale for X axis) |
scaleY | number | 1 | Vertical scale (overrides scale for Y axis) |
rotate | number | 0 | Z-axis rotation in degrees |
rotateX | number | 0 | X-axis rotation in degrees (3D) |
rotateY | number | 0 | Y-axis rotation in degrees (3D) |
borderRadius | number | 0 | Border radius in pixels — hardware-accelerated, clips children |
backgroundColor | ColorValue | 'transparent' | Background color — any React Native color value |
Full Example
animate default to their identity values and are not animated.
scale Shorthand
scale sets both scaleX and scaleY to the same value. When scaleX or scaleY is also provided, it overrides the scale value for that axis.
Style Conflicts
EaseView accepts all standard ViewStyle properties in the style prop. If a property appears in both style and animate, the animated value takes priority and the style value is stripped. A dev warning is logged when this happens.
The conflict check covers
opacity, borderRadius, backgroundColor, and the transform style key (which corresponds to all translate/scale/rotate properties). Non-conflicting style properties are passed through untouched.borderRadius
AnimatedborderRadius uses hardware-accelerated platform APIs — unlike React Native’s style-based borderRadius which uses a Canvas drawable on Android.
- Android
- iOS
Uses
ViewOutlineProvider + clipToOutline. The outline clips all children to the rounded boundary at the GPU level.borderRadius is in animate, any borderRadius in style is automatically stripped to avoid conflicts.
backgroundColor
Colors are converted to native ARGB integers viaprocessColor(). Any React Native color value is accepted — hex strings, rgb(), named colors, etc.
- Android
- iOS
Uses
ValueAnimator.ofArgb() — timing only. Spring transitions for backgroundColor are not supported and fall back to timing with the default duration.backgroundColor is in animate, any backgroundColor in style is automatically stripped.