Android Jetpack

How to add a Progress Indicator with Compose UI

Pinterest LinkedIn Tumblr

When designing an Android app, it’s important to consider the user experience. One way to improve this experience is by adding a progress indicator, which lets users know that the app is working on a task and not frozen. In this guide, we’ll show you how to add a progress indicator to your Android app.

Understand the importance of a progress indicator

A progress indicator is an essential component of any app that performs time-consuming tasks. It helps users understand that the app is working on a task and not frozen, which can improve the overall user experience. Without a progress indicator, users may become frustrated and assume that the app is not working correctly. Adding a progress indicator can also help reduce user anxiety and increase their confidence in the app’s performance

Choose the right type of progress indicator for your app

When adding a progress indicator to your Android app, it’s important to choose the right type for your specific use case.

Types of progress indicators in Compose

Mainly two types of progress indicators are available in Jetpack Compose UI

  • LinearProgressIndicator
  • CircularProgressIndicator

Implement the Progress Indicator Compose UI

What Option is available in LinearProgressIndicator

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

How to use LinearProgressIndicator

        LinearProgressIndicator()
FloatRange(from = 0.0, to = 1.0)
       LinearProgressIndicator(0.6f)

How to use CircularProgressIndicator

        CircularProgressIndicator()
FloatRange(from = 0.0, to = 1.0)
        CircularProgressIndicator(0.8f)

Customize the progress indicator on the Android

You can change the colors and progress value, The floating range min value 0.0 and max values can be 1.0.

    LinearProgressIndicator(
      0.6f, color = Color.Red,
    )

CircularProgressIndicator customized the color and stroke width like below.

    CircularProgressIndicator(
      color = Color.Red, progress = 0.8f, strokeWidth = 8.dp
    )

Test and optimize the progress indicator

Once you’ve added a progress bar to your Android app, it’s important to test and optimize it to ensure it provides the best possible user experience. By taking the time to test and optimize your progress bar in Android, you can create a more seamless and enjoyable user experience for your app’s users.

Here is the full source code.

import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.material.CircularProgressIndicator
import androidx.compose.material.LinearProgressIndicator
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp

@Composable
fun ProgressIndicatorsCompose() {
  Column(
    horizontalAlignment = Alignment.CenterHorizontally,
    verticalArrangement = Arrangement.SpaceEvenly
  ) {

    LinearProgressIndicator()

    LinearProgressIndicator(
      0.6f, color = Color.Blue,
    )

    CircularProgressIndicator()

    CircularProgressIndicator(
      color = Color.Blue, progress = 0.8f, strokeWidth = 2.dp
    )
  }
}

Write A Comment