как получить цветовой код из Gradient в android ProgressBar - PullRequest
1 голос
/ 17 июня 2020

Я создал изогнутый градиент в форме кольца для индикатора выполнения, чтобы сделать его изогнутым от края, я создал элемент точки в форме кольца в списке слоев и установил один в начале прогресса, а другой - в низ. Проблема здесь в том, что эффект цвета градиента - это динамический c, поэтому мне нужно изменить цвет нижней точки на такой же, как цвет нижней части градиента, есть ли способ динамически получить цветовой код градиента внизу? Прикрепленное изображение - это точный макет, который я пытаюсь реализовать.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/gradientDrawable">
        <rotate
            android:fromDegrees="270"
            android:toDegrees="270">
            <shape
                android:innerRadiusRatio="2.67"
                android:shape="ring"
                android:thickness="@dimen/_6sdp"
                android:thicknessRatio="40.0">
                <gradient
                    android:centerColor="#E85E44"
                    android:endColor="#FF9C00"
                    android:startColor="#FF9C00"
                    android:type="sweep" />
            </shape>
        </rotate>
    </item>
    <item android:id="@+id/topDot" android:bottom="@dimen/_126sdp">
        <shape
            android:innerRadiusRatio="5000"
            android:shape="ring"
            android:thickness="@dimen/_3sdp"
            android:useLevel="false">

            <solid android:color="#FF9C00" />
        </shape>
    </item>
    <item android:id="@+id/bottomDot">
        <rotate>
            <inset android:insetBottom="@dimen/_126sdp">
                <shape
                    android:innerRadiusRatio="5000"
                    android:shape="ring"
                    android:thickness="@dimen/_3sdp"
                    android:useLevel="false">

                    <solid android:color="#E85E44" />
                </shape>
            </inset>
        </rotate>
    </item>
</layer-list>
...