图层列表项笔划充当实体

时间:2014-08-05 15:30:38

标签: android stroke layer-list

我有一个图层列表:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape
        android:shape="oval"
        >
        <size android:height="50dp" android:width="50dp"/>
        <solid android:color="@android:color/background_light"/>
        </shape>
</item>
<item>
    <shape android:shape="oval">
        <size android:width="50dp" android:height="50dp"/>
        <stroke android:width="1dp" android:color="@android:color/black"/>
    </shape>
</item>
</layer-list>

在4.2.2及更高版本上,它会创建一个带黑色边框的白色圆圈。

4.2.2以下会创建一个黑色圆圈。

有没有办法让它在4.2.2以下工作?我错过了什么吗?

我的目标是让它从api14开始工作。

1 个答案:

答案 0 :(得分:2)

最终我找到了自己的答案:

诀窍是,你没有为边框创建一个新项目,你将它添加到实体形状,它的工作原理来自api14。像这样:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
 <item>
  <shape android:shape="oval">
    <size android:height="50dp" android:width="50dp"/>
    <solid android:color="@android:color/background_light"/>
    <stroke android:width="1dp" android:color="@android:color/black"/>
  </shape>
</item>

实际上在这种情况下你甚至不需要图层列表,但我有一些其他的形状,所以这就是我使用它的原因。这样你可以改变背景颜色,它仍然有一个很好的边框。