2012-05-22 4 views
0

화면에 선을 그 으려하지만 내 응용 프로그램이 점선으로 만 그려집니다. 그렇다면 코드에 무엇을 추가해야합니까?android line draw

List<Point> points = new ArrayList<Point>(); 
Paint paint = new Paint(); 

public DrawView(Context context) { 
    super(context); 
    setFocusable(true); 
    setFocusableInTouchMode(true); 

    this.setOnTouchListener(this); 

    paint.setColor(Color.BLUE); 
    paint.setAntiAlias(true); 
} 

@Override 
public void onDraw(Canvas canvas) { 
    for (Point point : points) { 
     canvas.drawCircle(point.x, point.y, 5, paint); 
     // Log.d(TAG, "Painting: "+point); 
    } 
} 

public boolean onTouch(View view, MotionEvent event) { 
    // if(event.getAction() != MotionEvent.ACTION_DOWN) 
    // return super.onTouchEvent(event); 
    Point point = new Point(); 
    point.x = event.getX(); 
    point.y = event.getY(); 
    points.add(point); 
    invalidate(); 
    Log.d(TAG, "point: " + point); 
    return true; 
    } 
} 

class Point 
{ 
    float x, y; 
    @Override 
    public String toString() { 
     return x + ", " + y; 
    } 
} 
+0

다음을 확인하십시오 : [안드로이드에서 줄을 그리는 방법] (http://stackoverflow.com/questions/3616676/how-to-draw-a-line-in-android) 그것은 당신을 도울 수 있습니다. – Sajmon

+0

답변 중 하나가 효과가 있습니까? –

답변

0

편집

사용 drawLine 또는 drawPath 대신 drawCircle.

나는 점의 2 개 세트 부드러운 라인의 경우

  • bewteen API Demos

  • +0

    이것은 대답이 아니라 주석이어야합니다. –

    +0

    내 답변 편집 –

    0
    1. 사용 drawLine의 Fingerpaint 예에서 살펴 onTouch의 모든 역사적 사건을 얻을 먼저 처리하도록 제안/빠르고 부드러운위한
    2. 포인트가 변경

    이 단지 RECT을 무효화 더 읽기 here