Android:使用Shape Drawable的多个虚线背景

时间:2014-10-01 23:53:20

标签: android android-shapedrawable

有没有办法使用可绘制的形状或类似的东西为视图创建虚线背景?

理想情况下,我喜欢这样的东西(当然有不同的颜色)。忽略蓝色边框,我就像红线一样理想地重复作为视图的背景。

enter image description here

1 个答案:

答案 0 :(得分:4)

以下是一个例子:

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <shape android:shape="rectangle">
        <solid android:color="#ffffff" />
    </shape>
</item>

<item
    android:top="-400dp">
    <shape android:shape="line">
        <stroke
            android:width="2dp"
            android:color="#ff0000"
            android:dashWidth="10dp"
            android:dashGap="10dp" />
    </shape>
</item>

<item
    android:top="-300dp">
    <shape android:shape="line">
        <stroke
            android:width="2dp"
            android:color="#ff0000"
            android:dashWidth="10dp"
            android:dashGap="10dp" />
    </shape>
</item>

<item
    android:top="-200dp">
    <shape android:shape="line">
        <stroke
            android:width="2dp"
            android:color="#ff0000"
            android:dashWidth="10dp"
            android:dashGap="10dp" />
    </shape>
</item>

<item
    android:top="-100dp">
    <shape android:shape="line">
        <stroke
            android:width="2dp"
            android:color="#ff0000"
            android:dashWidth="10dp"
            android:dashGap="10dp" />
    </shape>
</item>

<item
    android:top="0dp">
    <shape android:shape="line">
        <stroke
            android:width="2dp"
            android:color="#ff0000"
            android:dashWidth="10dp"
            android:dashGap="10dp" />
    </shape>
</item>

<item
    android:top="100dp">
    <shape android:shape="line">
        <stroke
            android:width="2dp"
            android:color="#ff0000"
            android:dashWidth="10dp"
            android:dashGap="10dp" />
    </shape>
</item>

<item
    android:top="200dp">
    <shape android:shape="line">
        <stroke
            android:width="2dp"
            android:color="#ff0000"
            android:dashWidth="10dp"
            android:dashGap="10dp" />
    </shape>
</item>

<item
    android:top="300dp">
    <shape android:shape="line">
        <stroke
            android:width="2dp"
            android:color="#ff0000"
            android:dashWidth="10dp"
            android:dashGap="10dp" />
    </shape>
</item>

<item
    android:top="400dp">
    <shape android:shape="line">
        <stroke
            android:width="2dp"
            android:color="#ff0000"
            android:dashWidth="10dp"
            android:dashGap="10dp" />
    </shape>
</item>
</layer-list>

和截图:

enter image description here

在该示例中,有九条虚线。通过相对于中心线上下移动每个新行,您可以根据需要放置尽可能多的内容,即 android:top="0dp" 属性。

以下是Shape Drawable的更多信息。