How can I change the style of a ProgressBar to small?

Viewed 49318

I have some difficulties finding the correct way to specify that a progress bar should have the small indefinite style.

I would be glad if somebody could provide an example for me and others that do a quick search for this information.

8 Answers

You can change the size of progress bar easily by scaleX and scaleY property, like this:

<ProgressBar
        android:id="@+id/progressBar"
        android:scaleX="0.5"
        android:scaleY="0.5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

Here,

scaleX: To change the width, so 0.5 will reduce the width to the half of the actual width

scaleY: To change the height, so 0.5 will reduce the height to the half of actual height

 <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_width="wrap_content
        style="?android:attr/progressBarStyleSmallTitle"
        android:layout_height="wrap_content" />
<!--changing of color,small size spinner-->
    <style name="progressColor" parent="@android:style/Widget.ProgressBar.Small">
        <item name="colorControlActivated">@color/colorPrimary</item>
    </style>

you can achieve color and small size spinner by using above style in spinner

<ProgressBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/progressColor"
            android:layout_gravity="center" />

According to the answer of @Rupesh Yadav, you can see a structure of the style @android:style/Widget.ProgressBar.Small:

<style name="Widget.ProgressBar.Small">
    <item name="indeterminateDrawable">@drawable/progress_small_white</item>
    <item name="minWidth">16dip</item>
    <item name="maxWidth">16dip</item>
    <item name="minHeight">16dip</item>
    <item name="maxHeight">16dip</item>
</style>

I can confirm that setting min and max sizes solves the problem. Setting width and height explicitly doesn't change the size of the ProgressBar. So you can make your own style.

Related