2017-05-02 15 views
2

대각선 줄무늬 패턴을 사용하여 선을 그리는 사용자 정의보기를 작성하려고합니다. 그것은이 유사하게 나타납니다Android PathDashPathEffect : 경로 모양이 직선에서 작동하지 않습니다.

enter image description here

어떻게해야 PathDashPathEffect를 사용하여 생각하지만, 나는 직선 경로로 경로 모양을 설정하면, 뷰가 아무것도 그리지 않습니다. 경로에 세그먼트를 더 추가하여 닫을 수 있습니다 (예 : 삼각형으로 만들면보기가 표시됨). 뷰가 아무것도 표시되지 않습니다,

Path pathShape = new Path(); 
    pathShape.moveTo(0, 10); 
    pathShape.lineTo(10, 0); 

은 위의 작동하지 않습니다

여기 내 길 모양입니다.

Path pathShape = new Path(); 
    pathShape.moveTo(0, 0); 
    pathShape.lineTo(10, 10); 
    pathShape.lineTo(10, 0); 

내 전체 사용자 정의보기 :

private final Paint paint; 
private final Path path; 

public MyView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    paint = new Paint(); 
    paint.setStyle(Paint.Style.STROKE); 
    paint.setStrokeWidth(20); 
    paint.setColor(Color.RED); 
    Path pathShape = new Path(); 
    pathShape.moveTo(0, 0); 
    pathShape.lineTo(10, 10); 
    pathShape.lineTo(10, 0); 
    PathDashPathEffect pathEffect = new PathDashPathEffect(pathShape, 30, 30, PathDashPathEffect.Style.ROTATE); 
    paint.setPathEffect(pathEffect); 
    path = new Path(); 
} 

@Override 
protected void onDraw(Canvas canvas) { 
    path.reset(); 
    path.moveTo(0, getHeight()/2); 
    path.lineTo(getWidth(), getHeight()/2); 
    canvas.drawPath(path, paint); 
} 

사람이 알고 있나요

어떻게 그것을 달성하기 위해 라인의 패턴으로 아래의 작품과 쇼 삼각형?

감사합니다.

답변

0

결국 경로를 경로 이외의 다른 모양으로 변경하여이 작업을 수행했습니다. 모양을 너비 1의 기울어 진 사각형으로 만들었고 효과가있었습니다. PathEffect가 닫히지 않은 경로 인 경우 PathDashPathEffect가 작동하지 않습니다.