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

3

问题

我想要在竖直方向上创建3个矩形。然后,我想让第一个和最后一个矩形透明,但结果看起来第二个矩形的高度比它应该的高(它的高度等于两个矩形的高度)。

图片

在变成透明之前...... enter image description here

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

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

XML图层列表

<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个回答

3

问题:

<item android:top="5dp"> 

由于您只将其设置为顶部5dp,因此它仅会裁剪顶部5dp,并且高度仍然几乎覆盖图层的大小。

解决方案:

添加bottom属性以裁剪底部,以平衡您想要的效果。

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

所以你说的,我改变了值,它起作用了,谢谢! - Jongz Puangput

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接