2010-01-21 1 views
4

나는 간단한 Animation 파생 클래스를 생성하고 객체에 startAnimation을 호출 한 뷰 (이 예제의 LinearLayout, 빠른 개념 증명을 만들기 위해)에 onclick 수신기를 추가했습니다 (클래스의 인스턴스를 전달 함).). Animation 클래스에서는 Translation의 Matrix 객체에 대한 참조를 얻고 setTranslate를 호출합니다. 따라서 번역이 잘 보입니다. 그러나 개체 (번역 된 위치)를 다시 클릭하려고하면 아무 일도 일어나지 않습니다. 원래 위치로 돌아가서 클릭하면 동일한 시작 지점에서 같은 애니메이션이 반복됩니다. 저는 번역이 실제로 시각적 인 표현이 아니라 객체 자체를 번역 할 것이라는 인상을 받았습니다. 애니메이션 수업에서 내가 기대했던 것을 할 수있는 방법이 있습니까? 아니면 이런 종류의 일을하는 다른 표준 방법이 있습니까? 이 행동이 왜 그런지에 대한 통찰력? 감사.Matrix.setTranslate()는 클릭 가능한 영역이 아닌 View의 시각적 표면 만 변환합니다.

답변

0

아니요. 설명서에는 행렬 만 수정한다고 나와 있지는 않습니다. 뷰의 나머지 시스템 해석을 실제로 변경하려면 애니메이션이 끝날 때 위치를 설정하는 애니메이션 리스너를 설정하십시오.

0

View.setTranslationX() 및 View.setTranslationY()를 사용할 수 있습니다. Android Honeycomb 이후의 트릭을 수행해야합니다.