Android :: Layer-List 3垂直矩形堆栈问题

时间:2014-07-26 04:58:58

标签: android xml-layout layer-list

问题

我想在垂直方向创建3个矩形。然后,我希望第一个和最后一个透明。但结果看起来像第二个矩形高度应该大(它的高度大于2个矩形)

PICTURE

在它透明之前...... enter image description here

透明之后...... enter image description here

我想要的...... enter image description here

XML LAYER-LIST

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

    <item android:top="0dp">
        <shape android:shape="rectangle">
            <solid android:color="@android:color/transparent"/>
            <size android:height="5dp" android:width="20dp"/>
        </shape>
    </item>

    <item android:top="5dp">
        <shape android:shape="rectangle">
            <solid android:color="@android:color/holo_green_light"/>
            <size android:height="5dp" android:width="20dp"/>
        </shape>
    </item>

    <item android:top="10dp">
        <shape android:shape="rectangle">
            <solid android:color="@android:color/transparent"/>
            <size android:height="5dp" android:width="20dp"/>
        </shape>
    </item>

</layer-list>

更新答案

将上述内容更改为解决此问题 Rod_Algonquin 在此问题中的答案

<item android:top="0dp" android:bottom="10dp">
<item android:top="5dp" android:bottom="5dp">
<item android:top="10dp" android:bottom="0dp">

1 个答案:

答案 0 :(得分:3)

<强>问题:

<item android:top="5dp"> 

因为你只给它一个top of 5dp它只会用5dp裁剪顶部并且仍然具有几乎覆盖图层大小的高度

<强>溶液

添加bottom attribute以裁剪底部以平衡您想要的效果

<item android:top="5dp"  android:bottom="5dp">