如何在触摸屏幕时使圆圈变大(Android)?

时间:2012-06-10 06:39:33

标签: android geometry ontouchevent ontouchlistener

我对Android相对较新,对图形也很陌生。我可以在屏幕上绘制一个圆圈,甚至在它移动时拖动它并增长(半径继续增加),但是当我只是触摸屏幕时,圆圈的大小不会增加。我认为这是因为MotionEvent。

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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

嗯......您可以做的是覆盖onDraw()并使用canvas.drawBitmap(bitmap, src, dst, paint)直接绘制到提供的画布

以下是对这些论点的解释:

  • 位图是您要使用的位图
  • src 是一个Rect变量,可让您选择要使用的位图的哪个部分...如果要绘制整个位图,只需使用null
  • dst 是另一个Rect变量,用于在画布上绘制位图的位置。如果你将矩形的点设置在它们应该的位置,它也会缩放你的位图。
  • 最后,只需将绘制设置为null
  • 即可

答案 2 :(得分:0)

ACTION_DOWN方法中,启动一个每秒增加圆的半径的线程。在ACTION_UP中停止线程并将圆圈的大小调整为原始大小。