代码之家  ›  专栏  ›  技术社区  ›  Jongz Puangput

Android::层列表3垂直矩形堆栈问题

  •  3
  • Jongz Puangput  · 技术社区  · 12 年前

    问题

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

    图片

    在它透明之前。。。 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 回复  |  直到 12 年前
        1
  •  3
  •   Rod_Algonquin    12 年前

    问题:

    <item android:top="5dp"> 
    

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

    解决方案:

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

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