问题
我想在垂直方向上创建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 这个问题的答案
Rod_Algonquin
<item android:top="0dp" android:bottom="10dp"> <item android:top="5dp" android:bottom="5dp"> <item android:top="10dp" android:bottom="0dp">
问题:
<item android:top="5dp">
因为你只给它一个 top of 5dp 它只会用5dp裁剪顶部,仍然具有几乎覆盖层大小的高度
top of 5dp
解决方案:
添加 bottom attribute 裁剪底部,以平衡您想要的效果
bottom attribute
<item android:top="5dp" android:bottom="5dp">