2013-03-20 3 views
0

나는 android.But에서 선을 그리려하고 있습니다. 그러나 객체를 빠르게 움직일 때 전체 선을 그리지 않고 전체 선을 그리지 않고 전체 선을 그릴 때 만족하지 않습니다. 뷰의 터치 이벤트에 : 나는이 happenes.I가없는 점 line.My 코드가 여기에 단지 전체 라인을하려는 이유 객체가 도와 slowly.Plaese 이동drawPoint()를 사용하여 선 그리기

public boolean onTouch(View view, MotionEvent event) { 
    // TODO Auto-generated method stub 
    final int X = (int) event.getRawX(); 
    final int Y = (int) event.getRawY(); 
    switch (event.getAction() & MotionEvent.ACTION_MASK) { 
    case MotionEvent.ACTION_DOWN: 
     RelativeLayout.LayoutParams lParams = (RelativeLayout.LayoutParams) view 
       .getLayoutParams(); 

     _xDelta = X - lParams.leftMargin; 
     Log.e("ACTION DOWN X", "" + Y + "---" + lParams.leftMargin); 
     _yDelta = Y - lParams.topMargin; 
     Log.e("ACTION DOWN Y", "" + Y + "---" + lParams.leftMargin); 

     break; 
    case MotionEvent.ACTION_UP: 
     break; 
    case MotionEvent.ACTION_POINTER_DOWN: 
     break; 
    case MotionEvent.ACTION_POINTER_UP: 
     break; 
    case MotionEvent.ACTION_MOVE: 
     RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view 
       .getLayoutParams(); 
     layoutParams.leftMargin = X - _xDelta; 
     Log.e("ACTION Move left margin", "" + (X - _xDelta)); 
     layoutParams.topMargin = Y - _yDelta; 
     Log.e("ACTION Move top margin", "" + (Y - _yDelta)); 
     layoutParams.rightMargin = -250; 
     layoutParams.bottomMargin = -250; 

     view.setBackgroundColor(random.nextInt()); 

     view.setLayoutParams(layoutParams); 
     draw = new DrawLine(MainActivity.this, X - _xDelta, Y - _yDelta); 
     root.addView(draw); 

     break; 
    } 

    root.invalidate(); 
    return true; 
} 

그리고 내 그리기 방법은 다음과 같이이다 :

@Override 
    protected void onDraw(final Canvas canvas) { 
     // TODO Auto-generated method stub 
     super.onDraw(canvas); 
     // paint.setColor(random.nextInt()); 
     paint.setStyle(Style.STROKE); 
     paint.setStrokeWidth(4); 
     canvas.drawPoint(startX, startY, paint); 


    } 

그리고 모든 그림을 지우는 방법을 알고 싶습니다.
이 문제를 해결하도록 도와주세요. 감사합니다.

답변

1

그래서 점을 그릴 때 어떻게 선을 그어야한다고 생각합니까? 터치 이벤트 등록/처리가 손가락이 닿은 각각의 새로운 픽셀에서 해고 될만큼 빠르지 않습니다. 경로를 사용하여 점을 저장하고 경로의 점을 사용하여 선/경로를 그립니다.