از یک LinearProgressIndicator برای نمایش پیشرفت یک عمل در حالت خطی استفاده می شود که در شیوه سنتی برنامه نویسی اندروید ProgressBar نامیده می شد.
LinearProgressIndicator در 2 حالت قابل استفاده است:
1- Indeterminate: نامشخص
LinearProgressIndicator()
زمانی که شما از LinearProgressIndicator بدون پارامتر progress
استفاده کنید برای همیشه اجرا خواهد شد.
2- Determinate: تعیین شده
LinearProgressIndicator(progress = 0.5f)

زمانی که شما پارامتر progress
را به LinearProgressIndicator پاس کنید درصد پیشرفت فقط به اندازه مقدار پاس داده شده خواهد بود. به مثال بالا توجه کنید.
مثال LinearProgressIndicator در Android Jetpack Compose
@Composable
fun LinearProgressIndicatorSample() {
var progress by remember { mutableStateOf(0.1f) }
val animatedProgress = animateFloatAsState(
targetValue = progress,
animationSpec = ProgressIndicatorDefaults.ProgressAnimationSpec
).value
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Spacer(Modifier.height(30.dp))
Text("LinearProgressIndicator with undefined progress")
LinearProgressIndicator()
Spacer(Modifier.height(30.dp))
Text("LinearProgressIndicator with progress set by buttons")
LinearProgressIndicator(progress = animatedProgress)
Spacer(Modifier.height(30.dp))
OutlinedButton(
onClick = {
if (progress < 1f) progress += 0.1f
}
) {
Text("Increase")
}
OutlinedButton(
onClick = {
if (progress > 0f) progress -= 0.1f
}
) {
Text("Decrease")
}
}
}