Я могу перемещать круг только в методе onTouchEvent
Еще одна проблема, которую я заметил, заключается в том, что когда вы касаетесь любого места на холсте, положение Circle One изменяется
Это должно происходить ТОЛЬКО при касании / перетаскивании Круга
Похоже, Canvas распознает только прикосновение
Как я могу решить эту проблему?
public class Example extends View {
private Paint circleOne, circleTwo;
float xCircleOne, yCircleOne, xCircleTwo, yCircleTwo;
int radiusCircleOne = 100;
int radiusCircleTwo = 50;
public Example(Context context) {
super(context);
init();
}
private void init() {
circleOne = new Paint();
circleTwo = new Paint();
...
}
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
xCircleOne = event.getX();
yCircleOne = event.getY();
invalidate();
break;
}
return true;
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Circles
canvas.drawCircle(xCircleOne, yCircleOne, radiusCircleOne, circleOne);
canvas.drawCircle(xCircleTwo, yCircleTwo, radiusCircleTwo, circleTwo);
}
}