2012-02-17 45 views
0

中创建虚线垂直线我能够用this问题提供的代码绘制水平虚线。我想在android

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

回答

0

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

fill_parent似乎被忽略。

最良好的祝愿, 添

0

创建水平方向的LinearLayout中,这是整个页面,里面是与垂直虚线其中一个创建两个线性布局和线性布局内做一个列表由'|'组成的线性布局和''。

+0

请跟我说清楚,我想在竖直虚线 – user1108995 2012-02-21 05:01:22

+0

整个布局将是一个的LinearLayout,里面想要说的在屏幕中间的虚线线型布局,让您在主里面创建三个孩子的线性布局一。在中间线性布局中,您制作了每个都有2个视图的线性布局列表,其中一个视图包含“|”另一个视图包含“”。所以当你把所有的东西放在一起的时候,它会是一条虚线。中间线性铺层应该具有垂直方向。 – 2012-02-21 05:27:36

2

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

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);