2013-03-20 120 views
0

我想绘制android.But线,但我不满足,因为它不绘制完整线,它绘制一条虚线,当我快速移动对象,并绘制完整的线时我谨对象slowly.Plaese帮我为什么这个happenes.I只想完整产品线不虚line.My代码是在这里: 上的观点触摸事件:使用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

那么,你如何预期当你只画点时应该绘制一条线?触摸事件注册/处理速度不够快,无法触发您手指触摸的每个新像素。使用路径来存储点,并使用路径中的点绘制线条/路径。