3

问题

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

图片

在透明之前... 在此处输入图像描述

透明后... 在此处输入图像描述

我想要的是... 在此处输入图像描述

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

1 回答 1

3

问题:

<item android:top="5dp"> 

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

解决方案:

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

<item android:top="5dp"  android:bottom="5dp">
于 2014-07-26T05:07:28.767 回答