LinearProgressIndicator

Composable Component

Determinate Material Design linear progress indicator.

Linear progress indicator image

Common
@Composable
fun LinearProgressIndicator(
    @FloatRange(from = 0.0, to = 1.0) progress: Float,
    modifier: Modifier = Modifier,
    color: Color = MaterialTheme.colors.primary,
    backgroundColor: Color = color.copy(alpha = IndicatorBackgroundOpacity),
    strokeCap: StrokeCap = StrokeCap.Butt,
)

Parameters

progressThe progress of this progress indicator, where 0.0 represents no progress and 1.0 represents full progress. Values outside of this range are coerced into the range.
modifierthe Modifier to be applied to this progress indicator
colorThe color of the progress indicator.
backgroundColorThe color of the background behind the indicator, visible when the progress has not reached that area of the overall indicator yet.
strokeCapstroke cap to use for the ends of this progress indicator
Common
@Composable
fun LinearProgressIndicator(
    modifier: Modifier = Modifier,
    color: Color = MaterialTheme.colors.primary,
    backgroundColor: Color = color.copy(alpha = IndicatorBackgroundOpacity),
    strokeCap: StrokeCap = StrokeCap.Butt,
)

Parameters

modifierthe Modifier to be applied to this progress indicator
colorThe color of the progress indicator.
backgroundColorThe color of the background behind the indicator, visible when the progress has not reached that area of the overall indicator yet.
strokeCapstroke cap to use for the ends of this progress indicator
Common

Deprecated Maintained for binary compatibility

@Composable
fun LinearProgressIndicator(
    progress: Float,
    modifier: Modifier = Modifier,
    color: Color = MaterialTheme.colors.primary,
    backgroundColor: Color = color.copy(alpha = IndicatorBackgroundOpacity),
) = LinearProgressIndicator(progress, modifier, color, backgroundColor, strokeCap = StrokeCap.Butt)
Common

Deprecated Maintained for binary compatibility

@Composable
fun LinearProgressIndicator(
    modifier: Modifier = Modifier,
    color: Color = MaterialTheme.colors.primary,
    backgroundColor: Color = color.copy(alpha = IndicatorBackgroundOpacity),
) = LinearProgressIndicator(modifier, color, backgroundColor, strokeCap = StrokeCap.Butt)

Code Examples

LinearProgressIndicatorSample

@Composable
fun LinearProgressIndicatorSample() {
    var progress by remember { mutableStateOf(0.1f) }
    val animatedProgress by
        animateFloatAsState(
            targetValue = progress,
            animationSpec = ProgressIndicatorDefaults.ProgressAnimationSpec,
        )
    Column(horizontalAlignment = Alignment.CenterHorizontally) {
        LinearProgressIndicator(progress = animatedProgress)
        Spacer(Modifier.requiredHeight(30.dp))
        OutlinedButton(onClick = { if (progress < 1f) progress += 0.1f }) { Text("Increase") }
    }
}

Create your own Component Library

Material Components are meant to be used as is and they do not allow customizations. To build your own Jetpack Compose component library use Compose Unstyled