2017-01-06 8 views
6

사용자가 객체의 크기를 변경하고 상호 작용으로 회전 할 수있는 Android 상호 작용 애니메이션을 구현하려고합니다.대화 형 Android 애니메이션

enter image description here

이것은 내가 구현하려고하지만, 뭔가 비슷한하고 정확히하지 않습니다.

사용자가 각도 선 'p'를 변경하고 각도 'a'가 변경되도록 허용하고 싶습니다. 'p'wr.r.t 센터를 이동하면 모양의 크기가 변경 될 수 있습니다.

나는 이미 애니메이션 및 애니메이터 클래스를 사용해 보았지만 완전히 목적을 달성하지 못했습니다.

코드를 묻지 않고, 구현할 수있는 포인터가 필요합니다.

+0

사용자 정의보기를 만들고 'onDraw' 메소드를 재정 의하여 원과 광선을 그릴 수 있습니다. 그런 다음 지오메트리 조작을 처리하기 위해 터치 리스너를 추가하십시오. – akash93

+0

터치 상호 작용, 드로잉 작업 또는 원하는 것을 그리는 수학에 대해 확실하지 않습니까? –

+0

@ShaneDuffy 터치 상호 작용에 대해 알고 있습니다. 그리기 작업과 조작에 대해 잘 모릅니다. –

답변

1

필자가 말할 수있는 한 '선', 원 및 '호'가 호가 'p'에 대해 변경되도록하려는 경우 사용자가 터치하는 곳이됩니다.

라인

이 부분은 이미 X를 획득하고 Y는 사용자가 클릭 것을 조정하는 방법을 알고 추정, 상대적으로 간단하다. 먼저 onDraw 메서드를 재정의해야합니다.이 메서드는 그릴 수있는 canvas 요소를 제공합니다. 그런 다음 사용자가 화면을 터치하면 화면 중앙에서 각각의 X 및 Y 좌표까지 매우 쉽게 draw a line을 입력 할 수 있습니다.

서클 캔버스 쉽게 주어진 X 주위에 원을 그리고 Y 지정된 반경 조정하는 기능을 갖는다 drawCircle

이 제품은 비교적 간단 할 것이다. 사용자의 터치 이벤트에 해당하는 원을 그리려면 distance function을 사용하여 사용자의 터치 X 및 Y 좌표에서 화면 좌표의 중심까지의 거리를 계산하고 이것을 원의 반지름으로 사용하면됩니다. 동적으로 호를 그리기 아크

설명 상대적으로 어렵고, 내 여자 친구는 그녀와 저녁을 먹고 가라고 잔소리를하지만, this 질문은 매우 명확 생각, 그것을 응답합니다.

모든 이전 그림이 서로 위에 겹쳐지기 전에 모든 터치 이벤트에서 캔버스를 지울 필요가 있습니다. 건배.

+1

고마워요. 이런 종류의 일을했습니다. 적어도 포인터를 줬어. 나는 이것으로 시작해서 어딘가에 마침내 도달했다. 자세한 설명 주셔서 감사합니다. :) –