在Android上绘制9个点缀点/虚线

时间:2012-06-27 10:49:46

标签: java android nine-patch

Google无法帮助我找到问题的解决方案。 (到目前为止我一直在寻找......)。

我想知道是否可以在Android上绘制带有9个补丁功能的虚线。

我的目标是从布局到另一个布局画一条虚线。

我想到了9个补丁,因为我希望每个活动中的虚线都相同。 (不要被拉伸)。

这可能吗?或者是否有更好的解决方案?

这是我想要的一个例子(用实线表示):http://hpics.li/866bb56

由于

3 个答案:

答案 0 :(得分:6)

如果你想要一个漂亮的虚线,你不能使用九个补丁。 9贴片尺寸会扩大的事实会使你的圆点变形并拉伸空间。

您想要了解的是Shapes并将它们用作背景:

<强> /res/drawable/dotted.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">

<stroke
    android:color="#CC0000"
    android:dashWidth="10px"
    android:dashGap="10px" /> 
</shape>

并将其用作视图的背景。

了解详情:http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape

答案 1 :(得分:6)

这可以通过XML资源完成。

使用笔划定义一个drawable(可以是虚线)并将其设置为背景。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#000000" />
<stroke
    android:dashWidth="4dp"
    android:dashGap="4dp"
    android:width="2dp"
    android:color="#FF0000" />
<padding
    android:bottom="4dp"
    android:left="4dp"
    android:right="4dp"
    android:top="4dp" />
</shape>

导致类似这样的事情:

doted image

此致,Alex。

答案 2 :(得分:5)

实际上,我没有使用形状因为我需要一条垂直虚线而另一条是水平的。

并且不可能获得具有形状的垂直线。 (事实上​​,这是可能的,但不是本地的,结果不是我所期待的。)

所以我拿了我的虚线,用它做了2张小图像,一张水平,另一张垂直。 然后我为每个方向创建了2个xml文件,并使用重复模式调用我的drawable

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/pointilles_horizontal_pattern"
android:tileMode="repeat" />

谢谢大家!