How to change color in circular progress bar?
I am using circular progress bar on Android. I wish to change the color of this. I am using
"?android:attr/progressBarStyleLargeInverse"
style. So how to change the color of progress bar.
How to custom the style? Furthermore, what is the definition of the style?
Solution 1:
For API 21 and Higher. Simply set the indeterminateTint property. Like:
android:indeterminateTint="@android:color/holo_orange_dark"
To support pre-API 21 devices:
mProgressSpin.getIndeterminateDrawable()
.setColorFilter(ContextCompat.getColor(this, R.color.colorPrimary), PorterDuff.Mode.SRC_IN );
Solution 2:
In the res/drawable folder, put this:
progress.xml
<?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="#00ffffff"
android:angle="0"/>
</shape>
</rotate>
Set startColor
and endColor
as per your choice .
Now set that progress.xml
in ProgressBar
's backgound .
Like this
<ProgressBar
android:id="@+id/ProgressBar01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminateDrawable="@drawable/progress"
/>