This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
Progress indicators Jetpack Compose progress indicator components for displaying operation status.
Recommended version:
~57.0.18
Expo UI Progress Indicators match the official Jetpack Compose Progress Indicator API .
Installation
- npx expo install @expo/ui
- yarn expo install @expo/ui
- pnpm expo install @expo/ui
- bun expo install @expo/ui
If you are installing this in an existing React Native app , make sure to install expo in your project.
Usage
Linear progress
A horizontal bar that fills to indicate progress. Provide a progress value between 0 and 1 for determinate mode.
import {
Host ,
LinearProgressIndicator ,
} from '@expo/ui/jetpack-compose' ;
export default function LinearExample ( ) {
return (
< Host matchContents >
< LinearProgressIndicator progress = { 0.5 } />
</ Host >
) ;
}
Circular progress
A spinning circle whose stroke grows to indicate progress.
import {
Host ,
CircularProgressIndicator ,
} from '@expo/ui/jetpack-compose' ;
export default function CircularExample ( ) {
return (
< Host matchContents >
< CircularProgressIndicator progress = { 0.75 } />
</ Host >
) ;
}
Indeterminate
Omit the progress prop to animate continuously without indicating a specific completion level.
import {
CircularProgressIndicator ,
CircularWavyProgressIndicator ,
Column ,
Host ,
LinearProgressIndicator ,
LinearWavyProgressIndicator ,
} from '@expo/ui/jetpack-compose' ;
export default function IndeterminateExample ( ) {
return (
< Host matchContents >
< Column verticalArrangement = { { spacedBy: 16 } } >
< LinearProgressIndicator />
< CircularProgressIndicator />
< CircularWavyProgressIndicator />
< LinearWavyProgressIndicator />
</ Column >
</ Host >
) ;
}
Custom colors
Use color for the indicator and trackColor for the background track.
import {
Host ,
CircularProgressIndicator ,
} from '@expo/ui/jetpack-compose' ;
export default function ColorsExample ( ) {
return (
< Host matchContents >
< CircularProgressIndicator
progress = { 0.6 }
color = " red"
trackColor = " #cccccc"
/>
</ Host >
) ;
}
Wavy variants
LinearWavyProgressIndicator and CircularWavyProgressIndicator add an expressive wave animation from Material 3 Expressive.
import {
Host ,
LinearWavyProgressIndicator ,
CircularWavyProgressIndicator ,
Column ,
} from '@expo/ui/jetpack-compose' ;
export default function WavyExample ( ) {
return (
< Host matchContents >
< Column verticalArrangement = { { spacedBy: 16 } } >
< LinearWavyProgressIndicator progress = { 0.6 } />
< CircularWavyProgressIndicator progress = { 0.6 } />
</ Column >
</ Host >
) ;
}
API
import {
LinearProgressIndicator ,
CircularProgressIndicator ,
LinearWavyProgressIndicator ,
CircularWavyProgressIndicator ,
} from '@expo/ui/jetpack-compose' ;
Components CircularProgressIndicatorType: React.Element < ComponentType< CircularProgressIndicatorProps > >
A circular progress indicator that displays progress in a circular format.
Matches the Jetpack Compose CircularProgressIndicator.
Common props shared by all progress indicator variants.
CircularProgressIndicatorProps
Optional • Type: number
Gap size between the indicator and track in dp.
Optional • Type:
StrokeCap • Default:
'round'Stroke cap style for the indicator ends.
Optional • Type: number
Width of the circular stroke in dp.
CircularWavyProgressIndicatorType: React.Element < ComponentType< CircularWavyProgressIndicatorProps > >
A circular progress indicator with wavy animation style.
Matches the Jetpack Compose CircularWavyProgressIndicator.
Common props shared by all progress indicator variants.
CircularWavyProgressIndicatorProps
Type: React.Element < ComponentType< LinearProgressIndicatorProps > >
A linear progress indicator that displays progress in a horizontal bar.
Matches the Jetpack Compose LinearProgressIndicator.
Common props shared by all progress indicator variants.
LinearProgressIndicatorProps
Configuration for the stop indicator dot at the end of the determinate progress track.
Optional • Type: number
Gap size between the indicator and track in dp.
Optional • Type:
StrokeCap • Default:
'round'Stroke cap style for the indicator ends.
LinearWavyProgressIndicatorType: React.Element < ComponentType< LinearWavyProgressIndicatorProps > >
A linear progress indicator with wavy animation style.
Matches the Jetpack Compose LinearWavyProgressIndicator.
Common props shared by all progress indicator variants.
LinearWavyProgressIndicatorProps
Optional • Type: number
Size of the stop indicator in dp at the end of the determinate progress track.
Types Configuration for the stop indicator dot at the end of the determinate linear progress track.
When provided, draws a stop indicator with the given options. Omit to use the Compose default.
Common props shared by all progress indicator variants.
Literal type: string
Stroke cap style for progress indicators.
Acceptable values are: 'round' | 'butt' | 'square'