2014-06-18 6 views
0
나는 점 B 여기

라인은

점 A에서 점선을 그리려고

내 코드 그려되지 않습니다

하지만 경로를 도와주세요

paintDotted = new Paint(); 
paintDotted.setAntiAlias(true); 
paintDotted.setStyle(Paint.Style.FILL); 
paintDotted.setStrokeJoin(Paint.Join.ROUND); 
paintCircle.setPathEffect(new CornerPathEffect(20)); 
paintDotted.setStrokeCap(Paint.Cap.ROUND); 
paintDotted.setStrokeWidth(4); 

Path dottedPath = new Path(); 
dottedPath.moveTo(avgStartX, avgEndY); 
dottedPath.lineTo(avgEndX,avgEndY); 
Log.i("avgStartX",avgStartX+""); 
Log.i("avgStartY",avgStartY+""); 
Log.i("avgEndY",avgEndY+""); 
Log.i("avgEndX",avgEndX+""); 
canvas.drawPath(dottedPath, paintDotted); 

을 그려되지 않습니다!

미리 감사드립니다.

+0

시작 및 종료 값이 제정신입니까 (샘플 제공)? 캔버스는 어디에서 왔습니까? 화면 캔버스 또는 비트 맵 캔버스입니까? 이 기능이 onDraw 기능입니까? –

+0

시작 및 끝 값이 다르며이 코드는 선형 레이아웃의 onDraw 메서드에서 호출됩니다. – AabidMulani

답변

0

1 차원 요소 (높이가없는 선)에 Style.FILL을 사용하고 있기 때문에 문제가 발생합니다. 대신 Style.STROKE을 사용해야합니다. 그냥 줄을 표시하려면

BTW, 당신은이를 사용해야합니다

drawLine(float startX, float startY, float stopX, float stopY, Paint paint) 

Canvas 클래스에서. startYstopY은 달라야합니다. 이 무승부는 2 차원이되며 Style.FILL을 사용할 수 있습니다.