我对 Android 比较陌生,对图形也很陌生。我可以在屏幕上画一个圆圈,甚至在它移动时拖动它并扩大(半径继续增加),但是当我只是触摸屏幕时,圆圈的大小并没有增加。我认为这是因为 MotionEvent。
本质上,我想要做的是在触摸屏幕时增加一个圆的大小,并在用户移动手指时相对于圆心移动,然后在抬起手指时重置为原始半径。任何建议都会很棒,或者如果有人知道涵盖此内容的教程也会很棒。谢谢。
我对 Android 比较陌生,对图形也很陌生。我可以在屏幕上画一个圆圈,甚至在它移动时拖动它并扩大(半径继续增加),但是当我只是触摸屏幕时,圆圈的大小并没有增加。我认为这是因为 MotionEvent。
本质上,我想要做的是在触摸屏幕时增加一个圆的大小,并在用户移动手指时相对于圆心移动,然后在抬起手指时重置为原始半径。任何建议都会很棒,或者如果有人知道涵盖此内容的教程也会很棒。谢谢。
在您的 onTouchEvent 方法中,使用 getActionMasked() 检查事件类型;
int eventType = event.getActionMasked();
if(eventType == MotionEvent.ACTION_DOWN)
growCircle();
else if(eventType == MotionEvent.ACTION_UP)
returnCircleToNormal();
嗯......你可以做的是覆盖onDraw()
并直接绘制到提供的画布上canvas.drawBitmap(bitmap, src, dst, paint)
以下是对论点的解释:
Rect
变量,它允许您选择要使用的位图的哪个部分......null
如果您想绘制整个位图,只需使用Rect
变量,用于在画布上绘制位图的位置。如果您将矩形的点从它们应该在的位置向上设置,它也会放大您的位图。在你的ACTION_DOWN
方法中启动一个线程,每秒增加你的圆的半径。停止线程并将圆圈调整为ACTION_UP
原始大小。