我想知道是否有可能在形状上有多个边框/“笔画”元素,或者我是否需要使用图像(或一堆形状相互覆盖)。我的代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient
android:endColor="@color/editTextBG"
android:startColor="@color/editTextBG"
android:angle="270" />
<stroke
android:width="1dp"
android:color="@color/editTextEdgeInner" />
<stroke
android:width="1dp"
android:color="@color/editTextEdgeCenter" />
<stroke
android:width="1dp"
android:color="@color/editTextEdgeOuter" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
我尝试过只使用代码,但是没有效果,并且给早期的笔划增加了更大的宽度(以便后面的,如果被绘制,只会着色部分)。然而,似乎最后一击超越了其他人?
答案 0 :(得分:1)
边框的解决方法是覆盖元素:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="@color/colorAccent"/>
</item>
<item android:top="8dp">
<color android:color="@color/colorPrimaryDark"/>
</item>
<item android:top="16dp">
<color android:color="@color/colorPrimary"/>
</item>
<item android:top="32dp" android:right="8dp">
<color android:color="@android:color/holo_red_dark"/>
</item>
</layer-list>
layer-list
中从上到下的第一个元素是背景,其他所有元素都安装在顶部。