android图层列表不会同时显示渐变和实体

时间:2013-06-28 20:17:14

标签: android xml gradient layer-list

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

<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>

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

2 个答案:

答案 0 :(得分:6)

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

您需要在渐变形状中添加一些填充。您正在执行相反的操作,将填充添加到实体形状与渐变形状,请尝试:

<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>

答案 1 :(得分:0)

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