{"id":84459,"date":"2021-09-11T09:00:24","date_gmt":"2021-09-11T03:30:24","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=84459"},"modified":"2024-08-05T22:05:07","modified_gmt":"2024-08-05T16:35:07","slug":"android-progress-bar","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/","title":{"rendered":"Android Progress Bar"},"content":{"rendered":"<p>The progress bar in Android is an essential tool for displaying the progress of tasks initiated by your app. It keeps users informed about the status of ongoing operations, showing them how much of the task is completed and how much is left. Imagine downloading a file without any indication of progress \u2013 you&#8217;d likely think the download wasn&#8217;t working and try again, leading to confusion and frustration.<\/p>\n<p>By implementing progress bars, you enhance the user experience by providing clear and immediate feedback. Users can see at a glance how much of a file has been downloaded or how long a process will take to complete. This not only keeps them informed but also reassures them that the task is progressing as expected. In this article, we\u2019ll explore the importance of progress bars and how to effectively use them to make your app more user-friendly.<\/p>\n<h3>About Progress Bar in Android<\/h3>\n<p>A progress bar is an Android UI element that helps to show the progress of various tasks. Progress bars are helpful to update users about the progress of an ongoing task. It even provides you with features to restrict or refrain users from performing other tasks.<\/p>\n<p>For example, suppose a new user visits your app, and you need to register him before allowing him to use the app. So, while you validate his data, you should show him a progress bar indicating that his information is getting validated.<\/p>\n<p>It\u2019s not just for registering or updating details where Progress Bars are used. You can also use it to show the progress of downloading files, uploading files, and fetching data from the server. Android Progress Bar automatically terminates when the process accomplishes.<\/p>\n<p>Creating Progress Bar in Android is relatively easy, and you can do it by pasting the below code in your XML file and Kotlin File.<\/p>\n<p><strong>XML Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;ProgressBar\r\n        android:id=\"@+id\/spinner_progress_Bar\"\r\n        style=\"?android:attr\/progressBarStyle\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginTop=\"100dp\"\r\n        android:indeterminate = \"true\"\r\n        android:max=\"100\"\r\n        android:minWidth=\"100dp\"\r\n        android:minHeight=\"50dp\"\r\n        android:progress=\"0\" \/&gt;\r\n<\/pre>\n<p><strong>Kotlin Code:<\/strong><\/p>\n<h3>Attributes of a Progress Bar<\/h3>\n<p>You can apply several attributes to your progress bars to style or add more functionalities to them.<\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Attribute Name<\/b><\/td>\n<td><b>Description<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">android:progress<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cprogress\u201d attribute is used to set the default value for your progress bar, between 0 and max.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">android:progressDrawable<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cprogressDrawable\u201d attribute is used to define a drawable object for the progress bar.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">android:min<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cmin\u201d attribute is used to set the lower bound of your progress bar.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">android:max<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cmax\u201d attribute is used to specify the upper bound of your progress bar.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">android:maxHeight<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cmaxHeight\u201d is used to set the maximum height your progress bar can attain.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">android:maxWidth<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cmaxWidth\u201d is used to set the maximum width your progress bar can attain.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">android:interpolator<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cinterpolator\u201d sets a curve for indeterminate animation.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">android:animationResolution<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201canimationResolution\u201d is used to set the time gap in milliseconds between the frames of the animations.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">android:id<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cid\u201d attribute is used to identify your created progress bars uniquely.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">android:indeterminate<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cindeterminate\u201d mode is used to set the mode of your progress bar to indeterminate.\u00a0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Methods involved in Progress Bar<\/h3>\n<p>There are several methods that you can use depending on your requirements while implementing Progress Bars. Some of the crucial methods that are usually used are shown below, along with their purpose.<\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Method Name<\/b><\/td>\n<td><b>Purpose of the Method<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">setIndeterminate(indeterminate: Boolean)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201csetIndeterminate()\u201d method is used to set or unset the indeterminate mode for a progress bar.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">setMax(max: Int)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201csetMax()\u201d method is used to set the upper bound of your progress bar.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">setMin(min: Int)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201csetMin()\u201d method is used to set the lower bound of your progress bar.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">setProgress(progress: Int)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201csetProgress()\u201d method is used to specify the current progress level of your progress bar.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">setProgressDrawable(d: Drawable!)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201csetProgressDrawable()\u201d method is used to set the drawable for your progress bar.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">isAnimating()<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cisAnimating()\u201d provides you with the info on whether or not your progress bar is animating.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">getProgress()<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cgetProgress()\u201d method provides you with the current progress of your progress bar.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">getMaxHeight()<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cgetMaxHeight()\u201d provides you the maximum height that your progress bar can attain.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">getMaxWidth()<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cgetMaxWidth()\u201d provides you the maximum width that your progress bar can attain.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">getMax()<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cgetMax()\u201d method returns you the upper bound value, which the progress can achieve.\u00a0<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">getMin()<\/span><\/td>\n<td><span style=\"font-weight: 400;\">The \u201cgetMin()\u201d method returns you the lower bound value the progress bar can achieve.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Types of Progress Bar in Android<\/h3>\n<p>In Android, the progress bar may be divided into two categories:<\/p>\n<ul>\n<li>Spin Wheel Progress Bar<\/li>\n<li>Horizontal Progress Bar<\/li>\n<\/ul>\n<h4>Spin Wheel Progress Bar<\/h4>\n<p>Spin Wheel Progress Bar consists of the circular wheel-like progress, which keeps on rotating until and unless your task accomplishes. It\u2019s also the default Progress Bar for android and can be created by using the following code.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;ProgressBar\r\n        android:id=\"@+id\/spinner_progress_Bar\"\r\n        style=\"?android:attr\/progressBarStyle\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginTop=\"100dp\"\r\n        android:indeterminate = \"true\"\r\n        android:max=\"100\"\r\n        android:minWidth=\"100dp\"\r\n        android:minHeight=\"50dp\"\r\n        android:progress=\"0\" \/&gt;\r\n<\/pre>\n<h4>Horizontal Progress Bar<\/h4>\n<p>The horizontal Progress bar is usually rectangular in shape and shows the progress from left to right. To change the default progress bar to horizontal, you can use the below code.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;ProgressBar\r\n  style=\"?android:attr\/progressBarStyleHorizontal\"\r\n\/&gt;\r\n<\/pre>\n<p>The horizontal progress bar is of two types, as shown below:<\/p>\n<h5>1. Determinate Horizontal Progress Bar<\/h5>\n<p>The determinate horizontal progress bar is used when you wish to show the actual progress to the user. Using this progress bar, you can showcase the actual portion of the completed task and how much is left.<\/p>\n<p>To use this, you need to set the indeterminate attribute to false as follows:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">android:indeterminate = \"false\"\r\n<\/pre>\n<p>The full declaration of your Determinate Horizontal Progress Bar goes as follows:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;ProgressBar\r\n        android:id=\"@+id\/determinate_progress_Bar\"\r\n        style=\"?android:attr\/progressBarStyleHorizontal\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginLeft=\"20dp\"\r\n        android:layout_marginRight=\"20dp\"\r\n        android:layout_marginTop=\"100dp\"\r\n        android:indeterminate = \"false\"\r\n        android:max=\"100\"\r\n        android:minWidth=\"100dp\"\r\n        android:minHeight=\"50dp\"\r\n        android:progress=\"0\" \/&gt;\r\n<\/pre>\n<h5>2. Indeterminate Horizontal Progress Bar<\/h5>\n<p>The indeterminate horizontal progress bar is a standard progress bar where the user doesn\u2019t know the actual progress. To use this, you need to set the indeterminate attribute to true as follows:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">android:indeterminate = \"true\"\r\n<\/pre>\n<p>The full declaration of your Indeterminate Horizontal Progress Bar goes as follows:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;ProgressBar\r\n        android:id=\"@+id\/horizontal_progress_Bar\"\r\n        style=\"?android:attr\/progressBarStyleHorizontal\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginLeft=\"20dp\"\r\n        android:layout_marginRight=\"20dp\"\r\n        android:layout_marginTop=\"100dp\"\r\n        android:indeterminate = \"true\"\r\n        android:max=\"100\"\r\n        android:minWidth=\"100dp\"\r\n        android:minHeight=\"50dp\"\r\n        android:progress=\"0\" \/&gt;\r\n<\/pre>\n<p>The first progress bar is the spinner type in the above screenshot, while the other two are horizontal progress bars. The second progress bar is the indeterminate horizontal progress bar, whereas the third one is the determinate horizontal progress bar.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-84723\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output-2.jpg\" alt=\"Android progress bar\" width=\"1080\" height=\"2280\" \/><\/a><\/p>\n<h3>Implementation of Progress Bar in Android<\/h3>\n<p>Now, let\u2019s see each of the above-discussed Progress bars live through an android application. To implement the Progress bars in your android applications, you need to follow the below stated steps.<\/p>\n<p><strong>1:<\/strong> Start your Android Studio and click on Create a New Project.<\/p>\n<p><strong>2:<\/strong> Go to your activity_main.xml file and paste the below code there.<\/p>\n<p><strong>Code: activity_main.xml<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\r\n&lt;LinearLayout\r\n    xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\r\n    android:layout_width=\"match_parent\"\r\n    android:layout_height=\"match_parent\"\r\n    android:orientation=\"vertical\"&gt;\r\n\r\n    &lt;ProgressBar\r\n        android:id=\"@+id\/spinner_progress_Bar\"\r\n        style=\"?android:attr\/progressBarStyle\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginTop=\"100dp\"\r\n        android:indeterminate = \"true\"\r\n        android:max=\"100\"\r\n        android:minWidth=\"100dp\"\r\n        android:minHeight=\"50dp\"\r\n        android:progress=\"0\" \/&gt;\r\n\r\n    &lt;ProgressBar\r\n        android:id=\"@+id\/horizontal_progress_Bar\"\r\n        style=\"?android:attr\/progressBarStyleHorizontal\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginLeft=\"20dp\"\r\n        android:layout_marginRight=\"20dp\"\r\n        android:layout_marginTop=\"100dp\"\r\n        android:indeterminate = \"true\"\r\n        android:max=\"100\"\r\n        android:minWidth=\"100dp\"\r\n        android:minHeight=\"50dp\"\r\n        android:progress=\"0\" \/&gt;\r\n\r\n    &lt;ProgressBar\r\n        android:id=\"@+id\/determinate_progress_Bar\"\r\n        style=\"?android:attr\/progressBarStyleHorizontal\"\r\n        android:layout_width=\"match_parent\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginLeft=\"20dp\"\r\n        android:layout_marginRight=\"20dp\"\r\n        android:layout_marginTop=\"100dp\"\r\n        android:indeterminate = \"false\"\r\n        android:max=\"100\"\r\n        android:minWidth=\"100dp\"\r\n        android:minHeight=\"50dp\"\r\n        android:progress=\"0\" \/&gt;\r\n\r\n    &lt;TextView\r\n        android:id=\"@+id\/text_view\"\r\n        android:layout_width=\"match_parent\"\r\n        android:gravity=\"center\"\r\n        android:textColor=\"#4CAF50\"\r\n        android:textSize=\"22sp\"\r\n        android:layout_height=\"wrap_content\" \/&gt;\r\n\r\n    &lt;Button\r\n        android:id=\"@+id\/show_button\"\r\n        android:layout_width=\"wrap_content\"\r\n        android:layout_height=\"wrap_content\"\r\n        android:layout_marginTop=\"30dp\"\r\n        android:layout_gravity=\"center\"\r\n        android:text=\"Progress Bar\" \/&gt;\r\n\r\n\r\n&lt;\/LinearLayout&gt;\r\n<\/pre>\n<p><strong>3:<\/strong> Now, open your MainActivity.kt file and add the below code there.<\/p>\n<p><strong>Code: MainActivity.kt<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">package com.techvidvan.techvidvanprogressbar\r\n\r\nimport android.annotation.SuppressLint\r\nimport androidx.appcompat.app.AppCompatActivity\r\nimport android.os.Bundle\r\nimport android.widget.Button\r\nimport android.widget.ProgressBar\r\nimport android.widget.TextView\r\nimport android.os.Handler\r\n\r\n\r\nclass MainActivity : AppCompatActivity()\r\n{\r\n    \/\/declaring variables\r\n    private lateinit var progressBar1: ProgressBar\r\n    private lateinit var progressBar2: ProgressBar\r\n    private lateinit var progressBar3: ProgressBar\r\n    private var i = 0\r\n    private var j = 0\r\n    private var k = 0\r\n    private var txtView: TextView? = null\r\n    private val handler = Handler()\r\n    private lateinit var progbtn:Button\r\n\r\n    @SuppressLint(\"SetTextI18n\")\r\n    override fun onCreate(savedInstanceState: Bundle?)\r\n    {\r\n        super.onCreate(savedInstanceState)\r\n        setContentView(R.layout.activity_main)\r\n\r\n        \/\/binding views with variables\r\n        progressBar1 = findViewById(R.id.spinner_progress_Bar)\r\n        progressBar2 = findViewById(R.id.horizontal_progress_Bar)\r\n        progressBar3 = findViewById(R.id.determinate_progress_Bar)\r\n        txtView = findViewById(R.id.text_view)\r\n        progbtn = findViewById(R.id.show_button)\r\n\r\n        progbtn.setOnClickListener {\r\n            \/\/When the user presses the progress bar button then\r\n            \/\/we will fetch the progress in some variables.\r\n            i = progressBar1.progress\r\n            j = progressBar2.progress\r\n            k = progressBar3.progress\r\n\r\n            \/\/Run a thread and update the progress of your progress bars\r\n            Thread(Runnable {\r\n                while (i &lt; 100) {\r\n                    i += 2\r\n                    j += 2\r\n                    k += 2\r\n\r\n                    handler.post(Runnable {\r\n                        progressBar1.progress = i\r\n                        progressBar2.progress = j\r\n                        progressBar3.progress = k\r\n\r\n                        \/\/Display the current progress in the text view\r\n                        txtView!!.text = \"[ Downloading Files: \" +i.toString() + \"\/\" + progressBar1.max +\" ]\"\r\n                    })\r\n                    try {\r\n                        Thread.sleep(100)\r\n                    } catch (e: InterruptedException) {\r\n                        e.printStackTrace()\r\n                    }\r\n\r\n                }\r\n            }).start()\r\n        }\r\n    }\r\n\r\n}\r\n<\/pre>\n<p>Now, simply run your application on your actual device or emulator and see the output.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-84723\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output-2.jpg\" alt=\"Android progress bar\" width=\"1080\" height=\"2280\" \/><\/a><\/p>\n<h3>Summary<\/h3>\n<p>So, through this article, you came across another exciting topic called Progress Bars in Android. You came across the need for Progress Bars and how it can be helpful to keep your users updated about the progress of tasks. Later on, you saw the several methods and attributes of Progress Bar. Finally, you saw the two types of the Progress bar and saw their implementation too.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The progress bar in Android is an essential tool for displaying the progress of tasks initiated by your app. It keeps users informed about the status of ongoing operations, showing them how much of&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":84722,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2791],"tags":[4231],"class_list":["post-84459","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","tag-progress-bar-in-android"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Android Progress Bar - TechVidvan<\/title>\n<meta name=\"description\" content=\"Learn about Android Progress Bar with implementation. See its need &amp; how it can be helpful to keep users updated about the progress of tasks.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Progress Bar - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Learn about Android Progress Bar with implementation. See its need &amp; how it can be helpful to keep users updated about the progress of tasks.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-11T03:30:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-05T16:35:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Progress-Bar.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android Progress Bar - TechVidvan","description":"Learn about Android Progress Bar with implementation. See its need & how it can be helpful to keep users updated about the progress of tasks.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/","og_locale":"en_US","og_type":"article","og_title":"Android Progress Bar - TechVidvan","og_description":"Learn about Android Progress Bar with implementation. See its need & how it can be helpful to keep users updated about the progress of tasks.","og_url":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2021-09-11T03:30:24+00:00","article_modified_time":"2024-08-05T16:35:07+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Progress-Bar.jpg","type":"image\/jpeg"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Android Progress Bar","datePublished":"2021-09-11T03:30:24+00:00","dateModified":"2024-08-05T16:35:07+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/"},"wordCount":1148,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Progress-Bar.jpg","keywords":["Progress Bar in Android"],"articleSection":["Android Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/","url":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/","name":"Android Progress Bar - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Progress-Bar.jpg","datePublished":"2021-09-11T03:30:24+00:00","dateModified":"2024-08-05T16:35:07+00:00","description":"Learn about Android Progress Bar with implementation. See its need & how it can be helpful to keep users updated about the progress of tasks.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Progress-Bar.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Progress-Bar.jpg","width":1200,"height":628,"caption":"Android Progress Bar"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/android-progress-bar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Android Progress Bar"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/84459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=84459"}],"version-history":[{"count":1,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/84459\/revisions"}],"predecessor-version":[{"id":447612,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/84459\/revisions\/447612"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/84722"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=84459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=84459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=84459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}