Established Android readiness level
I am trying to change the color of the progress bar at different levels.
Hand-drawn used by the progress bar
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="1" android:drawable="@drawable/progress_horizontal_green"/>
<item android:maxLevel="2" android:drawable="@drawable/progress_horizontal_red"/>
</layer-list>
I load the progress bar like so:
// viewHolder.budgetProgress is a ProgressBar
viewHolder.budgetProgress.setMax(100);
// No matter what level I change, the drawable used is always the lowest one.
viewHolder.budgetProgress.getProgressDrawable().setLevel(0);
viewHolder.budgetProgress.setProgress(95);
The problem is that the one used for drawing is always the lowest, so in this case red. If I swap progress_horizontal_red
and progress_horizontal_green
then the progress bar will always be green.
+3
source to share