0
Ниже приведена логика коммутатора для рисования на поверхности, она не рисуется правильно. Не знаю, где я пойду не так. EDIT: класс был удален, поскольку это не помогло.Логика OnTouchEvent для приложения для рисования поверхности
@Override
public boolean onTouchEvent(MotionEvent event) {
synchronized (mThread.getSurfaceHolder()) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_DOWN:
currentDrawingPath = null;
currentDrawingPath = new DrawingPath();
currentDrawingPath.getPath().moveTo(eventX, eventY);
startX = eventX;
startY = eventY;
canvasPaths.add(currentDrawingPath);
//invalidate();
break;
case MotionEvent.ACTION_MOVE:
float dx = Math.abs(eventX - startX);
float dy = Math.abs(eventY - startY);
currentDrawingPath.getPath().quadTo(startX, startY,
(eventX + startX)/2, (eventY + startY)/2);
startX = eventX;
startY = eventY;
//currentDrawingPath.getPath().lineTo(startX, startY);
break;
}
return true;
'Math.abs', почему? 'X = (int) event.getX(); \t \t \t Y = (int) event.getY(); \t \t \t \t invalidate(); \t \t \t c2.drawCircle (X, Y, 80, pTouch); \t 'И, пожалуйста, напишите больше кода –