2012-05-25 4 views
8

레이아웃에 ImageButton 뷰가 있습니다. 사용자가 ImageButton을 클릭하면 버튼이 사라집니다. Android 알파 애니메이션 : 애니메이션이 끝난 후 알파 값이 이전 값으로 돌아갑니다.

버튼

애니메이션은 다음과 같이 시작됩니다 페이드 아웃 :

public void buttonClicked(View aButton){ 

    final Animation aAnim = new AlphaAnimation(1.0f, 0.0f); 
    aAnim.setDuration(500); 

    aButton.startAnimation(aAnim); 

} 

이 작동하지만, 즉시하여 ImageButton이 페이드 아웃 될 때, 그것의 알파 값이 바로 다시 1.0 점프 버튼을 다시 볼 수 있습니다.

Animation Listener를 사용하여 일시적으로 해결했지만 애니메이션의 끝 부분에서 ButtonImage를 보이지 않게 설정했지만 이상한 해결책입니다.

애니메이션의 마지막 값으로 알파 값 버튼을 유지하려면 어떻게해야합니까?

감사합니다.

+0

"이상한 해결책"은 갈 길입니다. 그것은 벌집 전에 안드로이드 애니메이션과 관련된 알려진 문제입니다. 더 쉬운 방법은 MikeT가 제공하는 방법이지만 항상 기대했던대로 작동하지는 않습니다 –

답변

22

는 애니메이션, true로 'setFillAfter'을 설정해야합니다 완료되면 새 값을 설정하려면 aAnim.setFillAfter(true);

+0

Thank You Mike! 그게 다야! – Tom

1

를 사용해보십시오.

public void buttonClicked(View aButton){  
    final Animation aAnim = new AlphaAnimation(1.0f, 0.0f); 
    aAnim.setDuration(500); 

    aAnim.setFillAfter(true); 
    aButton.startAnimation(aAnim); 
} 
+0

aAnim.setFillAfter (true); <- 애니메이션은 단추 자체가 아닌 수정자를 가져옵니다. – LoungeKatt

관련 문제