我对Android相对较新,对图形也很陌生。我可以在屏幕上绘制一个圆圈,甚至在它移动时拖动它并增长(半径继续增加),但是当我只是触摸屏幕时,圆圈的大小不会增加。我认为这是因为MotionEvent。
基本上,我想做的是每当触摸屏幕时都会增加圆圈的大小,并在用户移动手指时相对于圆圈的中心移动,然后在手指抬起时重置为原始半径。任何建议都会很棒,或者如果有人知道一个涵盖这个的教程也会很棒。感谢。
答案 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)
直接绘制到提供的画布
以下是对这些论点的解释:
Rect
变量,可让您选择要使用的位图的哪个部分...如果要绘制整个位图,只需使用null
Rect
变量,用于在画布上绘制位图的位置。如果你将矩形的点设置在它们应该的位置,它也会缩放你的位图。答案 2 :(得分:0)
在ACTION_DOWN
方法中,启动一个每秒增加圆的半径的线程。在ACTION_UP
中停止线程并将圆圈的大小调整为原始大小。