LinearProgressIndicator در Android Jetpack Compose

از یک LinearProgressIndicator برای نمایش پیشرفت یک عمل در حالت خطی استفاده می شود که در شیوه سنتی برنامه نویسی اندروید ProgressBar نامیده می شد.

LinearProgressIndicator در 2 حالت قابل استفاده است:

1- Indeterminate: نامشخص

LinearProgressIndicator()

زمانی که شما از LinearProgressIndicator بدون پارامتر progress استفاده کنید برای همیشه اجرا خواهد شد.

2- Determinate: تعیین شده

LinearProgressIndicator(progress = 0.5f)
LinearProgressIndicator در Android Jetpack Compose در حالت Determinate
درصد پیشرفت عمل در مثال بالا روی 50% تعیین شده است

زمانی که شما پارامتر 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")
        }
    }
}

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دو − دو =