За углом круглого индикатора выполнения - PullRequest
1 голос
/ 11 июля 2020

У меня круглый индикатор выполнения

enter image description here

And I want to round the final corner, so it looks like this

enter image description here

Is possible to do this?

This is my XML for my actual progressbar:

   

И мой ProgresBar:

<ProgressBar
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:indeterminateDrawable="@drawable/progress"/>

Я видел, как это делается с HorizontalProgressBar, но не с CircularProgressBar, возможно ли сделать этот эффект? Как это делается?

Пробовал, но не работает { ссылка }

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

Наконец я использовал эту библиотеку https://github.com/lopspower/CircularProgressBar она очень похожа на то, что я хотел

0 голосов
/ 11 июля 2020

Вы должны расширить свой drawable следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <rotate android:fromDegrees="270" android:toDegrees="270">
            <shape
                android:innerRadiusRatio="2.55"
                android:shape="ring"
                android:thickness="4dp"
                android:useLevel="true">
                <solid android:color="@color/yourcolor" />
            </shape>
        </rotate>
    </item>
    <item android:bottom="261dp">
        <shape
            android:innerRadiusRatio="100000"
            android:shape="ring"
            android:thickness="2dp"
            android:useLevel="false">
            <solid android:color="@color/yourcolor" />
        </shape>
    </item>
    <item>
        <rotate>
            <inset android:insetBottom="261dp">
                <shape
                    android:innerRadiusRatio="100000"
                    android:shape="ring"
                    android:thickness="2dp"
                    android:useLevel="false">
                    <solid android:color="@color/yourcolor" />
                </shape>
            </inset>
        </rotate>
    </item>
</layer-list>

Таким образом вы просто поставите точку на кольце. Конечно, придется точно настроить радиус и толщину.

...