Jak utworzyć okrągły pasek postępu w Androidzie, który się na nim obraca?

Próbuję utworzyć zaokrąglony pasek postępu. To właśnie chcę osiągnąć

Jest szary kolor tła. Na wierzchu pojawia się niebieski pasek postępu, który porusza się po ścieżce kołowej od 0 do 360 na 60 lub w dowolnej liczbie sekund.

Oto mój przykładowy kod.

<ProgressBar
            android:id="@+id/ProgressBar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            style="?android:attr/progressBarStyleLarge"
            android:indeterminateDrawable="@drawable/progressBarBG"
            android:progress="50"
            />

Aby to zrobić, w drawowalnym „progressBarBG” tworzę listę warstw i wewnątrz tej listy warstw podaję dwa elementy, jak pokazano.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
    <shape
            android:shape="ring"
            android:innerRadius="64dp"
            android:thickness="8dp"
            android:useLevel="false">

        <solid android:color="@color/grey" />
    </shape>
</item>

<item android:id="@android:id/progress">
    <clip>
        <shape
                android:shape="ring"
                android:innerRadius="64dp"
                android:thickness="8dp"
                android:useLevel="false">

            <solid android:color="@color/blue" />
        </shape>
    </clip>
</item>

Teraz pierwszy szary pierścień jest generowany dobrze. Niebieski pierścień zaczyna się jednak od lewej strony drawable i idzie w prawo, tak jak działa liniowy pasek postępu. W ten sposób pokazuje 50% postęp, gdy czerwona strzałka wskazuje kierunek.

Chcę przesunąć niebieski pasek postępu ścieżką kołową zgodnie z oczekiwaniami.

questionAnswers(10)

yourAnswerToTheQuestion