我正在尝试制作一个可绘制的,如下图所示:
3条水平线1dp
,每条水平线都有不同的颜色,其余部分应填充渐变:
所以我写了这个:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="line">
<stroke android:width="1dp" android:color="#c80047"/>
</shape>
</item>
<item android:top="1dp">
<shape android:shape="line" >
<stroke android:width="1dp" android:color="#5ec800"/>
</shape>
</item>
<item android:top="2dp">
<shape android:shape="line" >
<stroke android:width="1dp" android:color="#ffffff"/>
</shape>
</item>
<item android:left="0dp" android:right="0dp" android:top="3dp">
<shape android:shape="rectangle">
<gradient android:angle="-90" android:startColor="#3B3B3B"
android:endColor="#000000" />
</shape>
</item>
</layer-list>
正确绘制渐变,但3行保持黑色。我试图在没有结果的情况下添加<stroke android:color="a_color" />
。
我错过了什么?
答案 0 :(得分:1)
绘制这些线但是它们不是在您认为它们的顶部绘制的,而是绘制在可绘制的中心(如果移动最后一个项目,则可以看到这个,带有渐变的矩形)在任何线条形状之前的顶部)并且被最后一个项目(渐变矩形)覆盖。
为了使那个可绘制你可以试试这个:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape>
<solid android:color="#c80047" />
<size android:height="1dp" />
</shape>
</item>
<item android:top="1dp">
<shape>
<solid android:color="#5ec800" />
<size android:height="1dp" />
</shape>
</item>
<item android:top="2dp">
<shape>
<solid android:color="#ffffff" />
<size android:height="1dp" />
</shape>
</item>
<item
android:left="0dp"
android:right="0dp"
android:top="3dp">
<shape android:shape="rectangle" >
<gradient
android:angle="-90"
android:endColor="#000000"
android:startColor="#3B3B3B" />
</shape>
</item>
</layer-list>
答案 1 :(得分:0)
所有这三条线都在中心对齐,我无法看到任何设置引力的参数。 我会把那些线也当作矩形。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#c80047"/>
</shape>
</item>
<item android:top="1dp">
<shape android:shape="rectangle">
<solid android:color="#5ec800"/>
</shape>
</item>
<item android:top="2dp">
<shape android:shape="rectangle">
<solid android:color="#ffffff"/>
</shape>
</item>
<item android:left="0dp" android:right="0dp" android:top="3dp">
<shape android:shape="rectangle">
<gradient android:angle="-90" android:startColor="#3B3B3B"
android:endColor="#000000" />
</shape>
</item>
</layer-list>