我想在android中创建虚线垂直线

时间:2012-02-17 08:14:45

标签: android

我可以使用this问题提供的代码绘制水平虚线。

这是一个宽度为1dp且高度为fill-parent的视图的背景。但是,如果我尝试绘制垂直线来改变视图的宽度和高度,则不会出现垂直虚线。

3 个答案:

答案 0 :(得分:3)

编辑...更好的是,创建路径并绘制该路径。

Paint paintDots = new Paint();
paintDots.setStyle(Paint.Style.STROKE);
PathEffect pe = new DashPathEffect(new float[] {5, 20}, 0);
paintDots.setPathEffect(pe);
paintDots.setStrokeWidth(5);

Path p = new Path();
p.moveTo(100, 0);
p.lineTo(100, 200);
canvas.drawPath(p, paintDots);

肯定有比这更好的方法,但我只做了一个宽度为0的矩形。这种方法存在局限性。如果“矩形”的两侧发生碰撞,我建议在路径效果中使间隙变大。

Paint paintDots = new Paint();
paintDots.setStyle(Paint.Style.STROKE);
PathEffect pe = new DashPathEffect(new float[] {5, 20}, 0);
paintDots.setPathEffect(pe);
paintDots.setStrokeWidth(5);            

canvas.drawRect(new Rect(100,0,100,200), paintDots);

答案 1 :(得分:0)

我有类似的情况,我想要这样一个元素。 (不太好)解决方案是在dp中设置高度,如40dp,用于普通ListAdapter等中的元素。

fill_parent似乎被忽略了。

祝福, 添

答案 2 :(得分:0)

创建一个水平方向的linearlayout,这是针对整个页面和内部创建两个线性布局,其中一个用于垂直虚线,并且在线性布局内部创建一个由'|'组成的线性布局列表和''。