나는 안드로이드 API 레벨 11 (ICS) MotionEvent
에서 transform
방법이 인 방법을 발견했습니다. 이것은 실제로 제가 좀 더 깔끔하게하는 것을 만들지 만, 레벨 8을 코딩하고 있습니다.Android API 레벨 8 또는 9에서 MotionEvent.transform (Matrix)을 시뮬레이션하는 방법은 무엇입니까?
이전 버전의 Android에서 작동하는 편리한 대체품 MotionEvent.transform()
이 있습니까? 나는 과거와 다중 터치 좌표를 모두 변형시키고 싶습니다. 상대 좌표와 절대 좌표의 구분을 올바르게 처리하고 싶습니다.이 좌표는 일종의 까다로운 항목입니다.
MotionEvent
MotionEvent
의 변형 사본 인 경우 MotionEvent
을 만들 수 있는지 알고 싶습니다. 실제로 임의의 변형은 필요하지 않지만 변환 및 확장이 가능해야합니다. 나는 offsetLocation
으로 번역 할 수 있다고 믿지만, (레벨 11 이전에) MotionEvent
을 측정 할 방법이 전혀 없습니다. 특히 멀티 터치 이벤트의 좌표를 어떻게 변환 할 수 있습니까? obtain
메서드는 배열이 아니라 단일 (x, y) 쌍을 취합니다.
이유는 내가 "자식"개체 집합에 이벤트를 발송하는 하나의 개체가 있습니다. 지금은 각 어린이들이 일종의 임시 방편으로 좌표를 변형합니다. 그러나 부모 (발송자)는 수행해야 할 변형이 무엇인지 알고 있으므로 자식에게 전달하기 전에 MotionEvent
(또는 사본)을 변형하는 것이 훨씬 더 명확합니다. 또는 MotionEvent
을 래핑하거나 데이터를 복사하여 MotionEvent
에서 변형하는 자체 클래스를 만들 수도 있지만 MotionEvent
을 사용할 수 있다면 훨씬 간단합니다.
당신이 할 수있는 일은 직접 변환을 계산하는 것입니다. Matrix 클래스를 사용하면 간단합니다. –
@aleph_null 예, 실제로 'MotionEvent'에 변환 된 좌표를 채울 수 있습니까? 한 쌍의 (x, y) 좌표를 더 설정할 방법이 없습니다. 멀티 터치 이벤트를 변환하려면 어떻게해야합니까? –
잘 모르겠지만 MotionEvent.obtain 및 여러 addBatch 호출을 사용하여 MotionEvent를 만들 수 있습니다. x, y 좌표의 각 집합을 독립적으로 변환합니다. –