2013-09-23 3 views
1

의심의 여지없이 나는 바보 같은 짓을하고 있지만 의심스럽지 않습니다. 나는 사용자 터치를 기반으로 경로를 그리려고합니다. 그 개별 접촉을 포착하는 코드는 다음과 같습니다 다음Android : 여러 개의 경로를 그려야하지만 하나의 긴 경로가 있음

public boolean onTouch(View view, MotionEvent event) { 
    float x = event.getX(); 
    float y = event.getY(); 

    switch (event.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      // The user is starting a new path 
      Path path = new Path(); 
      paths.push(path); 
      path.moveTo(x,y); 
      path.lineTo(x,y); 
      break; 
     case MotionEvent.ACTION_MOVE: 
      // The user is drawing on the current path 
      path = paths.getLast(); 
      path.quadTo(x,y, (lastX + x)/2f, (lastY + y)/2f); 
      break; 
    } 

    lastX = x; 
    lastY = y; 

    invalidate(); 
    return true; 
} 

그리고 라인을 그릴 :

protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    ListIterator<Path> iterator = paths.listIterator(); 
    while (iterator.hasNext()) { 
     Path path = iterator.next(); 
     canvas.drawPath(path, paint); 
    } 
} 

내가 두 번째 (또는 n 번째) 경로를 그리기 시작하면 문제가있다가, 코드입니다 현재의 끝점과 끝점 사이에 선을 추가합니다. 어떤 제안? 나는 DrawCanvas 응용 프로그램을 만들었다

답변

0

감사합니다. here을 다운로드하고 작동 방식을 확인하십시오.

관련 문제