2017-01-06 21 views
6

Я пытаюсь реализовать анимацию взаимодействия в android, где пользователь может изменить размер объекта и повернуть его с помощью взаимодействия.Интерактивная анимация для Android

enter image description here

Это не совсем то, что я пытаюсь реализовать, но что-то подобное.

Я хочу разрешить пользователю изменять угловую линию 'p' и с этим следует изменить угол 'a'. Перемещение центра «p» w.r.t должно позволить изменять размер фигуры.

Я уже пробовал, Анимация и Аниматор Классы, но они не полностью служат целям.

Я не прошу какого-либо кода, мне просто нужен указатель на ho, я могу это реализовать.

+0

Вы можете создать пользовательский просмотр и переопределить метод onDraw для рисования круга и луча. Затем добавьте сенсорный прослушиватель для обработки геометрии. – akash93

+0

Неужели вы не уверены в сенсорном взаимодействии, рисовании материала или математике за рисованием нужного материала? –

+0

@ShaneDuffy Я знаю о взаимодействии с сенсорным экраном, я не уверен в деталях рисования и о том, как манипулировать ими. –

ответ

1

Насколько я могу судить, вы хотите, чтобы линия, круг и «а» обозначали дугу для изменения по отношению к «p», которая была бы там, где пользователь прикасается.

Линия

Эта часть является относительно простым, предполагая, что вы уже знаете, как приобрести X и Y координаты, что пользователь нажмет. Во-первых, вам необходимо переопределить метод onDraw, который предоставит вам элемент canvas, на который вы можете нарисовать. Затем, когда пользователь прикасается к экрану, вы можете очень легко draw a line от центра вашего экрана до соответствующих координат X и Y.

Круг

Эта часть также будет относительно простой, так как холст также имеет функцию drawCircle легко нарисовать круг вокруг заданного X и Y координат с заданным радиусом. Чтобы нарисовать круг, соответствующий касанию пользователя, просто используйте distance function, чтобы рассчитать расстояние от координаты X и Y пользователя до центра координаты экрана и использовать его как радиус для вашего круга.

Дуга

Рисование дуги динамически относительно трудно объяснить, и моя подруга нытье меня пойти обедать с ней, но this вопрос очень четко отвечает на это, я думаю.

Также обратите внимание, что вам, вероятно, потребуется очистить холст от каждого события касания, чтобы все предыдущие рисунки не начали складываться друг на друга. Приветствия.

+1

Спасибо человеку. Это сработало. По крайней мере, дал мне указатель. Я начал с этого и, наконец, добрался куда-то. Спасибо за подробное объяснение. :) –

 Смежные вопросы

  • Нет связанных вопросов^_^