2012-06-10 86 views
2

我对Android比较陌生,对图形很新。我可以在屏幕上绘制一个圆圈,甚至在它正在移动时将其拖动并长大(半径不断增加),但是当我刚刚触摸屏幕时,圆圈的大小不会增加。我认为这是因为MotionEvent。如何在触摸屏幕(Android)时增加一个圆圈?

本质上,我想要做的是在屏幕被触摸时增加一个大小,并且当用户移动他的手指时相对于圆心移动,然后当手指抬起时重置为原始半径向上。任何建议都会很棒,或者如果有人知道一个涵盖了这一点的教程,那也很棒。谢谢。

回答

2

在您的onTouchEvent方法中,使用getActionMasked()检查事件的类型;

int eventType = event.getActionMasked(); 
if(eventType == MotionEvent.ACTION_DOWN) 
    growCircle(); 
else if(eventType == MotionEvent.ACTION_UP) 
    returnCircleToNormal(); 
2

嗯...你可以做的是覆盖onDraw(),并直接与canvas.drawBitmap(bitmap, src, dst, paint)

这里画上所提供的画布的参数说明:

  • 是您要使用的位图
  • srcRect变量,它允许y欧挑选,如果你想使用位图...只是使用哪一部分null如果你想绘制整个位图
  • DST是另一个Rect变量是在画布上要绘制的位图。如果您将矩形的点设置在应该从的位置,它也会缩放您的位图。
  • 最后,只需设置油漆为null
0

在你ACTION_DOWN方法开始增加你的圈子每秒的半径的线程。在ACTION_UP停止线程并将圆圈调整为其原始大小。