我试图在android中使用XML制作一个drawable。要求是我需要一个圆角矩形(所有 4 个角都是圆角的),仅在顶部边缘具有 7dp 高度的笔划。我为此使用以下 XML:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke android:width="5dp" android:color="@color/theme_color" />
<solid android:color="@color/theme_color" />
<corners
android:radius="7dp"/>
<padding android:top="7dp"/>
</shape>
</item>
<item>
<shape
android:shape="rectangle">
<stroke android:width="1dp" android:color="@color/designer_cell_background" />
<solid android:color="@color/designer_cell_background" />
<corners
android:radius="7dp"
android:topRightRadius="0dp"
android:topLeftRadius="0dp"/>
<padding android:bottom="1dp"/>
</shape>
</item>
</layer-list>
我得到这个工作几乎没问题,除了底部右下角和底部左角没有圆角。
问题 - 1:如何使底角变圆?
问题 - 2:这是实现我真正想要的正确方法吗?有没有更好的办法?我问这个是因为,我知道我在这里所做的实际上是制作两个矩形,一个在另一个之上,第二个从第一个矩形的顶部边缘略微降低,以便第一个矩形的颜色显示为行在第二个之上。然后分别为每个矩形添加角半径。我认为这不是正确的解决方案。但是当我尝试在圆角矩形的顶部添加 7dp 宽度的笔画时失败了。我给出的中风出现在所有边缘。
编辑
这是我想要的:
这就是我目前得到的: