Progressbar in Android

How to use ProgressBar in Android

ProgressBar in Android:

ProgressBar is a user interface and it is used to display the progress of operations, such as Upload files.ProgressBar is used to display the status of the running process, for example: Analyze the status of the process or download files. On Android, the progress bar is displayed as a spinning wheel by default, but if we want it to be displayed as a horizontal bar, we must use the style attribute as the level.

There are two types of ProgressBar :

  • Determinate ProgressBar
  • Indeterminate ProgressBar

Determinate ProgressBar

This ProgressBar shows the current progress of reaching a certain maximum value.

 
<ProgressBar
    android:id="@+id/ProgressBar"
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

Indeterminate ProgressBar

In the undefined mode, the actual progress is not displayed, only a loop animation is displayed to indicate that some progress is taking place, as shown in the progress bar when the image is loaded in the image above.

<ProgressBar
    android:id="@+id/ProgressBar"
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:indeterminate="true"/>/////////////////////---------->indeterminate->true

Different attributes of ProgressBar :

XML AttributeAbout
android: idIt is used to identify the control or view uniquely.
android: progressIt is used to set the default progress value from 0 and max. It must be an integer value.
android: indeterminate
it is used to enable indeterminate progress mode.
android: backgroundit is used to set the background color for the progress bar.
android: max
it is used to set the maximum value
android: minit is used to set the minimum value

Preview of ProgressBar:

File: MainActivity.kt

–>In MainActivity.kt file initialize variable and implement progressbar.

package com.sagar.progressbar

import android.os.Bundle
import android.os.Handler
import android.view.View
import android.widget.Button
import android.widget.ProgressBar
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity


 class MainActivity : AppCompatActivity() {
     private var ProgressBar: ProgressBar? = null
     private var i = 0
     private var TextView: TextView? = null
     private val hdlr = Handler()
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_main)
         ProgressBar = findViewById<View>(R.id.ProgressBar) as ProgressBar
         TextView = findViewById<View>(R.id.ProTView) as TextView
         val btn = findViewById<View>(R.id.btnProBar) as Button
         btn.setOnClickListener {
             i = ProgressBar!!.progress
             Thread {
                 while (i < 100) {
                     i += 1
                      hdlr.post {
                         ProgressBar!!.progress = i
                         TextView!!.text = i.toString() + "/" + ProgressBar!!.max
                     }
                     try {

                         Thread.sleep(500)
                     } catch (e: InterruptedException) {
                         e.printStackTrace()
                     }
                 }
             }.start()
         }
     }
 }

File: activity_main.xml

–>activity_main.xml contain progressbar and textview,button.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ProgressBar
        android:id="@+id/ProgressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="142dp"
        android:indeterminate="false"
        android:max="100"
        android:minWidth="200dp"
        android:minHeight="50dp"
        android:progress="0"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/ProTView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="145dp"
        app:layout_constraintBottom_toTopOf="@+id/btnProBar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/ProgressBar" />

    <Button
        android:id="@+id/btnProBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="173dp"
        android:text="ProgressBar DEMO"
        android:textAllCaps="false"
        android:textColor="@color/black"
        android:backgroundTint="@color/teal_700"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

How to use ProgressBar in Android

This Post Has 5 Comments

Leave a Reply