React Native component bouncing ball for both iOS and Android. There are two ways to generate balls, <Image/> and <View/>. The balls can always move randomly in the screen. When the component will Unmount, the animation will stop.
Use the <Image/> generate ball
Use the <View/> generate ball
npm i react-native-bouncing-ball --save
Use the <Image/> generate ball
import React, {PureComponent} from 'react';
import {StyleSheet, ImageBackground} from 'react-native';
import BouncingBalls from 'react-native-bouncing-ball'
export default class BouncingBallsComponent extends PureComponent {
render() {
return (
<ImageBackground style={styles.container} source={require('./images/background.jpg')}>
<BouncingBalls
amount={10}
animationDuration={5000}
minSpeed={30}
maxSpeed={200}
minSize={40}
maxSize={100}
imageBall={require('./images/bouncing_ball.png')}
/>
</ImageBackground>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
}
});Use the <View/> generate ball
import React, {PureComponent} from 'react';
import {StyleSheet, ImageBackground} from 'react-native';
import BouncingBalls from 'react-native-bouncing-ball'
export default class BouncingBallsComponent extends PureComponent {
render() {
return (
<ImageBackground style={styles.container} source={require('./images/background.jpg')}>
<BouncingBalls
amount={10}
animationDuration={5000}
minSpeed={30}
maxSpeed={200}
minSize={40}
maxSize={100}
style={{
backgroundColor: '#CDFFCD'
}}
/>
</ImageBackground>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
}
});| Props | PropType | Default Value | Description |
|---|---|---|---|
| amount | number |
1 | the number of balls |
| animationDuration | number |
5000 | Every section animation time |
| animationType | func |
Easing.linear |
Animation type |
| minSpeed | number |
30 | The slowest speed of the ball |
| maxSpeed | number |
200 | The fastest speed of the ball |
| minSize | number |
40 | The largest ball size |
| maxSize | number |
100 | The smallest ball size |
| style | object |
null | The style of the ball |
| imageBall | object |
null | Choose Image generate ball |
MIT Licence

