背景
我想在一个视图下面制作一个(虚假的)阴影,使层次结构垂直排列,如下所示:
- 高度为“1dp”的颜色为“#43000000”的线条
- 在线条下方,从顶部开始颜色为“#1A000000”,结束颜色为“#00000000”的渐变色,并且高度为“8dp”。
问题
出现了一些问题,我无法正确地绘制出线条。
无论我怎么做,线条似乎都占据了整个空间,而渐变色看起来正常。
尝试过的方法
我尝试使用“line”和“rectangle”作为形状。我还尝试使用“stroke”代替“solid”,尝试添加填充和边距...
以下是可绘制文件的XML:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<size android:height="1dp" />
<solid android:color="#43000000" />
</shape>
</item>
<item android:top="1dp">
<shape android:shape="rectangle" >
<gradient
android:angle="270"
android:endColor="#00000000"
android:startColor="#1A000000" />
<size android:height="8dp" />
</shape>
</item>
</layer-list>
再次强调,这不是我尝试的唯一方法,只是我的第一次尝试。
问题
如何修复这个XML?是什么导致了这种情况?
考虑使用9 patch代替
。缺点?它不像xml drawable那样轻,并且您必须为每个分辨率复制它以获得最佳结果(对于非90°角)。优点?易用性和质量。 - Phantômaxx