2013-02-20 4 views
2

View를 확장하는 MyView라는 하나의 클래스가 있습니다. 내 옵션 메뉴에는 네 가지 유형의 색상이 있습니다. 나는 녹색 선택하고 녹색 경로 그린다 캔버스에 경로를 그리고 난 빨간색 선택할 때 빨간색 경로를 그릴해야하며 그대로 이전 녹색해야 할 때캔버스 안드로이드에 여러 경로 그리기

는 내가 원하는 내가 성공을 가지고

입니다 ... 다양한 색상의 여러 경로를 그리는 데 한 번에 하나의 색상 만 캔버스에 보관됩니다 .. 그래서 캔버스에 여러 색상의 색상을 그릴 수 있습니까?

+0

한 번에 정의 및 현재 코드를 포함한다. –

+0

캔버스에 그리는 코드를 표시해야합니다. 기본적으로 경로를 사용하여 색상을 저장해야하므로 각 경로의 색상을 알 수 있습니다. –

답변

1

내가 이런 짓을 한 방법은 서브 클래스 경로로 경로를 따라 색상을 저장하는 것입니다 : 다음

private class DrawingPath extends Path 
    { 
      public DrawingPath(float w, int c) 
      { 
        Width = w; 
        Color = c; 
      } 

      public float Width; 
      public int Color; 
    } 

난 내가 미리 색상을 설정 한 경로의 각을 그릴 때.

각 경로의 획 폭을 변경할 수 있도록이 코드로 너비를 설정할 수도 있습니다.

내가 사용이 그리려면

mCanvas.drawColor(Color.WHITE); 

for (DrawingPath p : mPaths) 
{ 
    mPaint.setColor(p.Color); 
    mPaint.setStrokeWidth(p.Width); 
    mCanvas.drawPath(p, mPaint); 
} 

invalidate(); 
+0

답변 John의 Thnx입니다. 나는 단 하나의 질문을 가지고 그 코드에서 내가 쓰는 그 장소에서 색을 바꿀 때 ?? 다른 방법이 DrawingPath 클래스를 어떻게 사용할 수 있습니까? 알려주세요 .. –

+0

조각을 경로에 추가 한 후이 코드를 'onTouchEvent'에 넣습니다. 뷰를 다시 그리려는 모든 위치에 놓습니다. –

+0

저에게 적절한 예를 보내주십시오. 아직도이 모든 과정을 이해하지 못합니다. –