ProressBar in Android using Jetpack Compose - GeeksforGeeks

25 Feb, 2021
ProressBar is a material UI component in Android which is used to indicate the progress of any process such as for showing any downloading procedure, as a placeholder screen, and many more. In this article, we will take a look at the implementation of ProressBar in Android using Jetpack Compose.
Attributes
Uses
Step 1: Create a New Project
To create a new project in the Android Studio Canary Version please refer to How to Create a new Project in Android Studio Canary Version with Jetpack Compose.
Step 2: Working with the MainActivity.kt file
Navigate to the app > java > your app’s package name and open the MainActivity.kt file. Inside that file add the below code to it. Comments are added inside the code to understand the code in more detail.
Kotlin
import android.graphics.drawable.shapes.Shapeimport android.media.Imageimport android.os.Bundleimport android.widget.Toastimport androidx.appcompat.app.AppCompatActivityimport androidx.compose.foundation.*import androidx.compose.foundation.Textimport androidx.compose.foundation.layout.*import androidx.compose.foundation.shape.CircleShapeimport androidx.compose.foundation.shape.RoundedCornerShapeimport androidx.compose.foundation.text.KeyboardOptionsimport androidx.compose.material.*import androidx.compose.material.Iconimport androidx.compose.material.icons.Iconsimport androidx.compose.material.icons.filled.AccountCircleimport androidx.compose.material.icons.filled.Infoimport androidx.compose.material.icons.filled.Menuimport androidx.compose.material.icons.filled.Phoneimport androidx.compose.runtime.*import androidx.compose.runtime.savedinstancestate.savedInstanceStateimport androidx.compose.ui.Alignmentimport androidx.compose.ui.layout.ContentScaleimport androidx.compose.ui.platform.setContentimport androidx.compose.ui.res.imageResourceimport androidx.compose.ui.tooling.preview.Previewimport androidx.compose.ui.unit.dpimport com.example.gfgapp.ui.GFGAppThemeimport androidx.compose.ui.Modifierimport androidx.compose.ui.draw.clipimport androidx.compose.ui.graphics.Colorimport androidx.compose.ui.graphics.SolidColorimport androidx.compose.ui.platform.ContextAmbientimport androidx.compose.ui.platform.testTagimport androidx.compose.ui.res.colorResourceimport androidx.compose.ui.semantics.SemanticsProperties.ToggleableStateimport androidx.compose.ui.text.TextStyleimport androidx.compose.ui.text.font.FontFamilyimport androidx.compose.ui.text.input.*import androidx.compose.ui.unit.Dpimport androidx.compose.ui.unit.TextUnit  class MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContent {            Column {                // in below line we are calling                   // a progress bar  method.                SimpleCircularProgressComponent()            }        }    }}  @Preview(showBackground = true)@Composablefun DefaultPreview() {    GFGAppTheme {        SimpleCircularProgressComponent();    }}  @Composablefun SimpleCircularProgressComponent() {    // CircularProgressIndicator is generally used    // at the loading screen and it indicates that    // some progress is going on so please wait.    Column(        // we are using column to align our        // imageview to center of the screen.        modifier = Modifier.fillMaxWidth().fillMaxHeight(),          // below line is used for specifying        // vertical arrangement.        verticalArrangement = Arrangement.Center,          // below line is used for specifying        // horizontal arrangement.        horizontalAlignment = Alignment.CenterHorizontally,          ) {        // below line is use to display         // a circular progress bar.        CircularProgressIndicator(            // below line is use to add padding            // to our progress bar.            modifier = Modifier.padding(16.dp),                          // below line is use to add color             // to our progress bar.            color = colorResource(id = R.color.purple_200),                          // below line is use to add stroke             // width to our progress bar.            strokeWidth = Dp(value = 4F)        )    }}
Now run your app and see the output of the app. 
Android-Jetpack
Technical Scripter 2020
Android
Kotlin
Technical Scripter
Android
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Flutter - Custom Bottom Navigation Bar
How to View and Locate SQLite Database in Android Studio?
How to Read Data from SQLite Database in Android?
Retrofit with Kotlin Coroutine in Android
Android Listview in Java with Example
Android UI Layouts
Kotlin Array
Retrofit with Kotlin Coroutine in Android
Kotlin Setters and Getters
MVP (Model View Presenter) Architecture Pattern in Android with Example