2

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

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

4

3 回答 3

3

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

int eventType = event.getActionMasked();
if(eventType == MotionEvent.ACTION_DOWN)
   growCircle();
else if(eventType == MotionEvent.ACTION_UP)
  returnCircleToNormal();
于 2012-06-10T06:48:37.527 回答
2

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

以下是对论点的解释:

  • bitmap是您要使用的位图
  • src是一个Rect变量,它允许您选择要使用的位图的哪个部分......null如果您想绘制整个位图,只需使用
  • dst是另一个Rect变量,用于在画布上绘制位图的位置。如果您将矩形的点从它们应该在的位置向上设置,它也会放大您的位图。
  • 最后,只需将paint设置为null
于 2012-06-10T06:56:11.573 回答
0

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

于 2012-06-11T07:38:04.657 回答