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 } });