2012-12-04 3 views
0

조각이 2 개있는이 성가신 문제가 발생했습니다. 단편에 3D 플립 애니메이션이 실행 중입니다. 문제는 플립이 끝나면 다른보기를 보이지 않게 설정하려고 시도하지만 아무 일도 일어나지 않습니다. 보기에 대한 애니메이션이 여전히 켜져있는 것 같습니다.보기의 경우 setAnimation(null) 또는 clearAnimation이면 전체보기가 시작 상태로 재설정됩니다.Android 조각 애니메이션이 실제로 완료되지 않습니다.

보기에도 알파 애니메이션을 실행 한 상태에서 약간의 테스트를했는데 이후에는 더 이상보기의 가시성을 변경할 수 없습니다. 이런 종류의 문제에 대한 해법이나 해킹?

감사합니다.

다음은 문제를 재현하는 작은 코드 단편입니다. 위의 코드를 실행할 때

AlphaAnimation fadeHalf = new AlphaAnimation(1, 0.5f); fadeHalf.setFillAfter(true);

fadeHalf.setAnimationListener(new AnimationListener() { 

@Override 
public void onAnimationStart(Animation animation) { 
} 

@Override 
public void onAnimationRepeat(Animation animation) { 
} 

@Override 
public void onAnimationEnd(Animation animation) { 
    getView().setVisibility(View.GONE); 
}); 

getView().startAnimation(fadeHalf); 

가 그래서, 전체 조각보기가 0.5F 알파로 번역됩니다 만, setVisilibity(View.GONE)는 아무것도 실시하지 않습니다 : 코드에 따라

는 조각 onCreateView가 호출 된 버튼을 클릭 할 때 실행 된 것입니다.

답변

0

이것이 필요한지 확실하지 않지만 나중에 동일한 애니메이션을 수행 할 때보기를 제거하고 다시 추가 할 수 있습니다.

+0

보기를 제거하고 애니메이션을 지우고 표시 여부를 설정하지 않아도됩니다. 당신의 솔루션도 효과가 있습니다. – Niko

관련 문제