自定义进度条可绘制

时间:2019-03-15 18:30:59

标签: android drawable

我要创建一个自定义进度栏,如下所示:

Progress Bar

除了最后的三角形切割,我已经拥有所有东西。有没有用XML做到这一点的好方法?我已经尝试了各种XML Drawable,包括<clip><layer-list><level-list>,但是没有达到预期的效果。

这是我最成功的尝试代码,但是我需要一种使第二个项目的透明颜色覆盖第一个项目的白色的方法。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/background">
        <layer-list>
            <item>
                <shape>
                    <corners
                        android:bottomLeftRadius="@dimen/progressBottomLeftRadius"
                        android:topLeftRadius="@dimen/progressTopLeftRadius" />
                    <solid android:color="@android:color/white" />
                </shape>
            </item>
            <item>
                <rotate
                    android:fromDegrees="-45"
                    android:pivotX="100%"
                    android:pivotY="0%"
                    android:toDegrees="-45">
                    <shape android:shape="rectangle">
                        <solid android:color="@android:color/transparent" />
                    </shape>
                </rotate>
            </item>
        </layer-list>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners
                    android:bottomLeftRadius="@dimen/progressBottomLeftRadius"
                    android:topLeftRadius="@dimen/progressTopLeftRadius" />
                <gradient
                    android:centerColor="@color/progressCenterColor"
                    android:endColor="@color/progressEndColor"
                    android:startColor="@color/progressStartColor" />
            </shape>
        </clip>
    </item>
</layer-list>

0 个答案:

没有答案