Насколько я могу судить, вы хотите, чтобы линия, круг и «а» обозначали дугу для изменения по отношению к «p», которая была бы там, где пользователь прикасается.
Линия
Эта часть является относительно простым, предполагая, что вы уже знаете, как приобрести X и Y координаты, что пользователь нажмет. Во-первых, вам необходимо переопределить метод onDraw, который предоставит вам элемент canvas, на который вы можете нарисовать. Затем, когда пользователь прикасается к экрану, вы можете очень легко draw a line от центра вашего экрана до соответствующих координат X и Y.
Круг
Эта часть также будет относительно простой, так как холст также имеет функцию drawCircle легко нарисовать круг вокруг заданного X и Y координат с заданным радиусом. Чтобы нарисовать круг, соответствующий касанию пользователя, просто используйте distance function, чтобы рассчитать расстояние от координаты X и Y пользователя до центра координаты экрана и использовать его как радиус для вашего круга.
Дуга
Рисование дуги динамически относительно трудно объяснить, и моя подруга нытье меня пойти обедать с ней, но this вопрос очень четко отвечает на это, я думаю.
Также обратите внимание, что вам, вероятно, потребуется очистить холст от каждого события касания, чтобы все предыдущие рисунки не начали складываться друг на друга. Приветствия.
Вы можете создать пользовательский просмотр и переопределить метод onDraw для рисования круга и луча. Затем добавьте сенсорный прослушиватель для обработки геометрии. – akash93
Неужели вы не уверены в сенсорном взаимодействии, рисовании материала или математике за рисованием нужного материала? –
@ShaneDuffy Я знаю о взаимодействии с сенсорным экраном, я не уверен в деталях рисования и о том, как манипулировать ими. –