1

我不明白这段代码发生了什么。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:bottom="10dp">
    <shape android:shape="rectangle" >
        <solid android:color="#ff8898A4" />
    </shape>
</item>
<item>
    <shape android:shape="rectangle" >
        <gradient
            android:angle="90"
            android:endColor="#ffD6DDD8"
            android:startColor="#ffB1BBC3" />
    </shape>
</item>
</layer-list>

如果我将实体移动到渐变下方,则渐变不会显示。但它现在是固体的方式不会显示出来。我对两个固体没有任何问题。我究竟做错了什么?

4

2 回答 2

12

您将实体形状项目放在渐变形状项目上。

您需要为渐变形状添加一些填充。您正在做相反的事情,将填充添加到实心形状而不是渐变形状,试试这个:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item>
    <shape android:shape="rectangle" >
        <solid android:color="#ff8898A4" />
    </shape>
</item>
<item android:bottom="10dp">
    <shape android:shape="rectangle" >
        <gradient
            android:angle="90"
            android:endColor="#ffD6DDD8"
            android:startColor="#ffB1BBC3" />
    </shape>
</item>
</layer-list>
于 2013-06-28T20:22:24.523 回答
0

第二个矩形完全覆盖第一个矩形。图层列表中的项目从第一个开始绘制在彼此的顶部。如果没有任何偏移量,它们都具有相同的大小。

于 2013-06-28T20:22:43.257 回答