问题描述
我当前正在使用一个Android
应用程序,其中需要使用一些Animation
。
当这些Views
中的Views
大于特定值(例如0.5f)时,我想使Animated value
可见,而其他Views
不可见。
类似这样的东西:
@Override
public void onAnimationUpdate(ValueAnimator animation) {
if((float)animation.getAnimatedValue() >= 0.2){
(View)animation.setVisibility(View.GONE); //Something like this
}
}
您知道setVisibility()
函数不起作用!
那么,我该怎么做? 有什么办法吗?
解决方法
此处您要设置ValueAnimator的可见性。这行不通。
尝试更改实际视图的可见性,而不是ValueAnimator。
@Override
public void onAnimationUpdate(ValueAnimator animation) {
if((float)animation.getAnimatedValue() >= 0.2){
viewToBeMadeInvisible.setVisibility(View.GONE); //Like this
}
}
更新:您可以添加AnimatorListenerAdapter来侦听动画结束。
animation.addListener(new AnimatorListenerAdapter()
{
@Override
public void onAnimationEnd(Animator animation)
{
//set your visibility code here.
}
});