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


1 answer


There is a good tutorial: Executing an Execution Line Using a Level List>



+1


source







All Articles