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);
}
그리고 모든 그림을 지우는 방법을 알고 싶습니다.
이 문제를 해결하도록 도와주세요. 감사합니다.