Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change default color of progress bar?

I am using a circular ProgressBar in my Activty.My Problem is this it is not visible properly on my page because my page's BG color is same as ProgressBar .So how can I change the color of ProgressBar to make it properly Visible? Please Help

like image 671
Arun Badole Avatar asked Jun 21 '11 06:06

Arun Badole


People also ask

What is the default color of progress bar?

I'm using an horizontal progress bar in my Android application, and I want to change its progress color (which is Yellow by default).

How do I change the color of my progress bar in html5?

You can style the color of the bar in the <progress> element by changing the background of a few browser-proprietary selectors.


2 Answers

Please make one xml file name progress.xml and put it in res/xml folder and write the below code in that xml file.

 <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android"     android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"     android:toDegrees="360">     <shape android:shape="ring" android:innerRadiusRatio="3"         android:thicknessRatio="8" android:useLevel="false">          <size android:width="76dip" android:height="76dip" />         <gradient android:type="sweep" android:useLevel="false"             android:startColor="#447a29"              android:endColor="#447a29"             android:angle="0"              />     </shape> </rotate>  

after creating this xml file set your progressbars background as this xml ..

Like

<ProgressBar   android:id="@+id/ProgressBar01"    android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:background = "@xml/progress"> 
like image 144
Chirag Avatar answered Sep 28 '22 06:09

Chirag


This is an old question, but using theme is not mentioned here. If your default theme is using AppCompat, your ProgressBar's color will be colorAccent you have defined.

Changing colorAccent will also change your ProgressBar's color, but these changes also reflects at multiple places. So, if you want a different color just for a specific ProgressBar you can do that by applying theme to that ProgressBar alone:

  • Extend your default theme and override colorAccent

    <style name="AppTheme.WhiteAccent">     <item name="colorAccent">@color/white</item> <!-- Whatever color you want--> </style> 
  • And in ProgressBar add the android:theme attribute:

    android:theme="@style/AppTheme.WhiteAccent" 

So it will look something like this:

<ProgressBar         android:id="@+id/loading"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_gravity="center"         android:padding="10dp"         android:theme="@style/AppTheme.WhiteAccent" /> 

So you are just changing a colorAccent for your particular ProgressBar.

Note: Using style will not work. You need to use android:theme only. You can find more use of theme here: https://plus.google.com/u/0/+AndroidDevelopers/posts/JXHKyhsWHAH

Edit

Here is the code for changing the color of ProgressBar by programatically.

ProgressBar progressBar = (ProgressBar) findViewById(R.id.pb_listProgressBar); int colorCodeDark = Color.parseColor("#F44336"); progressBar.setIndeterminateTintList(ColorStateList.valueOf(colorCodeDark)); 
like image 22
Naveen Kumar M Avatar answered Sep 28 '22 06:09

Naveen Kumar M