import React, {Component} from 'react';
import {StyleSheet, ScrollView} from 'react-native';
import {View, Text, ProgressBar, Colors, Spacings} from 'react-native-ui-lib';//eslint-disable-line
export default class ProgressBarScreen extends Component {
state = {
progresses: [0, 0, 0, 0]
};
componentDidMount() {
this.startProgress(0, 45);
this.startProgress(1, 25);
this.startProgress(2, 70);
this.startProgress(3, 15);
}
elements = new Array(4);
startProgress(index: number, stepSize: number) {
const {progresses} = this.state;
progresses[index] = Math.min(progresses[index] + stepSize, 100);
this.setState({progresses});
if (progresses[index] < 100) {
setTimeout(() => {
this.startProgress(index, stepSize);
}, 800);
}
}
get customElement() {
return (
);
}
render() {
const {progresses} = this.state;
return (
ProgressBar
Default
FullWidth
Styled
Custom Element
Custom Style - No Border Radius, 50% progress
);
}
}
const styles = StyleSheet.create({
text: {
paddingTop: 20,
paddingBottom: 15,
paddingLeft: 20
},
progressBar: {
marginBottom: 10,
marginHorizontal: Spacings.s4
},
styledProgressBar: {
backgroundColor: Colors.purple40,
height: 30
},
fullWidthProgressBar: {
marginBottom: 10
}
});