SegmentedArcView — progress view с широкими возможностями кастомизации. Вы можете задать любое количество сегментов, каждый отдельный сегмент можно настроить с помощью градиента, есть возможность анимации, поддержка RTL.
Пример использования:
<com.zigis.segmentedarcview.SegmentedArcView android:id="@+id/progressView" android:layout_width="300dp" android:layout_height="300dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:sav_title="@string/outstanding_credit" // -> custom title text app:sav_value="150 €" // -> custom value text app:sav_titleTypefaceSize="20dp" // -> custom title text size app:sav_valueTypefaceSize="55dp" // -> custom value text size app:sav_titleFont="@font/tt_norms_pro_bold" // -> custom title font app:sav_valueFont="@font/tt_norms_pro_medium" // -> custom value font app:sav_titleTextColor="@android:color/darker_gray" // -> custom title text color app:sav_valueTextColor="@android:color/black" // -> custom value text color app:sav_titleVerticalOffset="20dp" // -> offset vertical position of the title app:sav_valueVerticalOffset="-10dp" // -> offset vertical position of the value app:sav_startAngle="150" // -> arc start angle in degrees app:sav_sweepAngle="240" // -> arc sweep angle in degrees app:sav_segmentSeparationAngle="9" // -> arc separator width in degrees app:sav_segmentThickness="8dp" // -> individual segment thickness app:sav_useCustomSweepAngles="true" /> // -> enable variable segment sweep angles (note, segment sweeAngles need be set too!)