我試圖在canvas
上繪製正方形,但只運行MotionEvent.ACTION_DOWN
,然後停止listener
。MotionEvents not firing
這個想法是,當用戶觸摸屏幕時,它會得到x1和y1的位置,並且每次觸發onTouch
時,都必須將矩形x1 y1繪製到當前位置,最後將最後一個位置保存在x2 y2中一次用戶放開屏幕。
我的代碼如下所示:
surfaceView.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
holder = surfaceView.getHolder();
canvas = holder.lockCanvas();
if(event.getAction() == MotionEvent.ACTION_DOWN)
{
x1=event.getX();
y1=event.getY();
}
else if(event.getAction() == MotionEvent.ACTION_UP)
{
x2=event.getX();
y2=event.getY();
}
canvas.drawRect(x1, y1, event.getX(), event.getY(), paint);
holder.unlockCanvasAndPost(canvas);
return true;
}
});
誰能給我一個例子。
有一個問題在這裏? – GreyBeardedGeek 2013-02-27 06:11:23
您是否嘗試在每個事件上記錄日誌? – NaviRamyle 2013-02-27 06:11:31
是的,只有MotionEvent.ACTION_DOWN被觸發,然後停止。 – 2013-02-27 06:14:06