How to set thickness of circular indeterminate progress bar android?

Try this

USE

android:innerRadiusRatio="3"
android:thicknessRatio="20.0

SAMPLE CODE

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/progress">
        <rotate android:toDegrees="360">
            <shape
                android:shape="ring"
                android:thickness="4dp"
                android:innerRadiusRatio="3"
                android:thicknessRatio="20.0">
                <solid android:color="@color/white" />
            </shape>
        </rotate>
    </item>
</layer-list>

There is actually an even easier way to do that with the material components:

<com.google.android.material.progressindicator.CircularProgressIndicator
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:indeterminate="true"
        app:trackThickness="3dp" />

More details in material docs -> https://material.io/components/progress-indicators/android#circular-progress-indicators


If you want the modern animation rather than just rotation, you can copy and alter https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/drawable/progress_indeterminate_anim_medium_material.xml using it as the indeterminateDrawable.

<ProgressBar
    android:indeterminateDrawable="@drawable/new_progress_indeterminate_anim_medium_material"

To change the width in vector_drawable_progress_bar_medium.xml android:strokeWidth="1" for example.

It's a bit painful to do this as you also need to copy over the animation, interpolator and animator xml files to your project as they are private in the Android SDK.