2

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

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

在此处输入图像描述

4

1 回答 1

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>

和截图:

在此处输入图像描述

在示例中,有九条虚线。android:top="0dp"您可以通过相对于中心线(具有属性的线)上下移动每条新线来放置所需的数量。

这是有关Shape Drawable的更多信息。

于 2014-10-04T19:03:04.037 回答