2011-11-12 4 views
0

RotationAnimation을 사용하여 ImageButton을 이동하려고합니다. 애니메이션의 끝에서 화면 깜박임을 피하기 위해 onAnimationEnd를 재정의하기 위해 ImageButton을 확장했으며 실제 버튼의 위치를 ​​업데이트하려고합니다. [애니메이션은 단순한 피상적 인 이동이기 때문에]. 애니메이션이 끝날 때 버튼의 정확한 좌표를 어떻게 알 수 있습니까? 첨부 된 일부 코드입니다. 도움을 주셔서 감사합니다! 자세한 내용이 필요하면 알려주십시오.Android RotationAnimation 완료

public class HomeNavigationButton extends ImageButton { 
public HomeNavigationButton(Context context, AttributeSet attrs, 
     int defStyle) { 
    super(context, attrs, defStyle); 
} 
public HomeNavigationButton(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 
public HomeNavigationButton(Context context) { 
    super(context); 
} 


@Override 
protected void onAnimationEnd() { 
    super.onAnimationEnd(); 
    int l = ? 
    int t = ? 
    int r = ? 
    int b = ? 
    this.layout(l,t,r,b); 
} 

답변

0

버튼 애니메이션의 위치는? 나는 사지에 나가서 너는 할 수 없다고 생각한다. 애니메이션이 재미 있습니다. 그들은 "진짜"가 아닙니다. 그들을 신기루라고 생각하십시오. 이 시도. 이미지를 매우 천천히 회전하십시오. 이미지가 직사각형 인 경우 이미지가 약 45 도일 때 이미지의 위치를 ​​클릭하십시오. 길지는 않습니다. 이미지가 이 아니기 때문에 실제로는이 실제 좌표로 회전하기 때문에 클릭을 실제로 등록합니다.

실제로 게임 스프라이트처럼 애니메이션을 적용하거나 애니메이션을 사용하여 시행 착오를하고 수동으로 값을 설정하는 방법을 생각해 보겠습니다. 두 번째 작업을 수행하는 경우 원시 int가 아닌 DIP 좌표로 동적으로 변환해야합니다.

+0

응답 해 주셔서 감사합니다. 불행히도, 나는 수동으로 설정하려고 시도했지만, 버튼 하나가 2 픽셀 씩 튀는 것을 피할만큼 충분히 정확하게 할 수는 없습니다. 매우 좌절! – italianmike

관련 문제