我制作了一个可绘制的按钮,该按钮由渐变形状和实心形状组成,两者都在这样的图层列表中:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:height="25dp">
<shape android:shape="rectangle" >
<gradient
android:angle="90"
android:startColor="@color/greyDark1"
android:endColor="@color/greyDark2"/>
</shape>
</item>
<item android:top="25dp" android:height="25dp">
<shape android:shape="rectangle" >
<solid android:color="@color/black" />
</shape>
</item>
</layer-list>
但我无法正确处理角落。我需要整个形状周围的圆角,但不是在内部(所以 topRight 和 topLeft 操作上半部分,bottomRight 和 bottomLeft 用于下半部分)。
如果我将两半都设置为上半部分<corners android:radius="8dp">
的底角,而下半部分的顶角也是圆形的,那不是我想要的。
如果我<corners android:topRightRadius="8dp" android:topLeftRadius"8dp">
为上半部分和<corners android:bottomRightRadius="8dp" android:bottomLeftRadius"8dp">
下半部分设置,上半部分将是可绘制对象的完整大小,使渐变无法正常工作,并且底角也是相同的颜色。
这是我要完成的工作的图像:
有人知道这个问题的解决方案吗?
编辑:
我得到了一些答案,对此我很感激,但遗憾的是,它们似乎不起作用。
我从 bofredo 和 Bhuvnesh Chasta 得到的答案是这样的:
我从好奇心得到的答案看起来很不错,但这不是我的目标:
最终编辑:
我已经和我一起工作的人讨论过这个问题,我们都同意让它看起来像这样并不重要,所以我们选择了纯色。
我仍然要感谢所有提供帮助的人,所有当前的答案都会得到支持,我会接受 waqaslam 的答案,因为他非常接近我想要的。