У меня есть класс с анимацией на холсте. Мне нужно обработать касание, но OnTouchListener не работает. Я попытался поставить слушателя на основную деятельность, но это все равно не сработало.Android: Как добавить OnTouchListener в Canvas?
public class Animation extends View implements View.OnTouchListener{
private Paint paint;
private Snake snake;
public Animation(Context context) {
super(context);
snake = new Snake(10, 10, 1, 0, 1, 50);
paint = new Paint();
paint.setColor(Color.BLACK);
}
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
snake.move(canvas);
invalidate();
}
public boolean onTouch(View v, MotionEvent event) {
System.out.println("asfaf");
float x = event.getX();
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
System.out.println(x + ' ' + y);
break;
case MotionEvent.ACTION_MOVE:
System.out.println(x + ' ' + y);
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
System.out.println(x + ' ' + y);
break;
}
return true;
}
}
Спасибо, это работает! –