我要创建一个自定义进度栏,如下所示:
除了最后的三角形切割,我已经拥有所有东西。有没有用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>