Насколько я могу судить, вы хотите, чтобы линия, круг и дуга, помеченные буквой «a», изменились относительно точки «p», к которой пользователь прикасается.
Линия
Эта часть относительно проста, если предположить, что вы уже знаете, как получить координаты X и Y, по которым щелкает пользователь. Во-первых, вам нужно переопределить метод onDraw, который предоставит вам элемент canvas, на котором вы можете рисовать. Затем, когда пользователь касается экрана, вы можете очень легко нарисовать линию от центра экрана к соответствующим координатам X и Y.
Круг
Эта часть также будет относительно простой, поскольку Canvas также имеет drawCircle, чтобы легко нарисовать круг вокруг заданных координат X и Y с заданным радиусом. Чтобы нарисовать круг, соответствующий событию касания пользователя, просто используйте функцию расстояния чтобы вычислить расстояние от точки касания пользователя по координатам X и Y до центра координаты экрана и использовать это значение в качестве радиуса для вашего круга.
Арка
Динамическое рисование дуги относительно сложно объяснить, и моя девушка уговаривает меня пойти поужинать с ней, но этот вопрос, я думаю, очень четко отвечает на него.
Также обратите внимание, что вам, вероятно, потребуется очищать холст при каждом касании, иначе все предыдущие рисунки начнут накладываться друг на друга. Ваше здоровье.
person
Shane Duffy
schedule
06.01.2017
onDraw
для рисования круга и луча. Затем добавьте слушателя касания для обработки манипуляций с геометрией. - person ashkhn   schedule 06.01.2017