有没有办法使用可绘制的形状或类似的东西为视图创建虚线背景?
理想情况下,我喜欢这样的东西(当然有不同的颜色)。忽略蓝色边框,我就像红线一样理想地重复作为视图的背景。
答案 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>
和截图:
在该示例中,有九条虚线。通过相对于中心线上下移动每个新行,您可以根据需要放置尽可能多的内容,即 android:top="0dp"
属性。
以下是Shape Drawable的更多信息。