2012-02-08 90 views
1

谁能告诉我为什么这个动画不开始?我已经尝试将代码放入onAnimationStart监听器中,并且它永远不会被调用!没有错误,它只是从来没有发生..我一直盯着这个小时!动画未启动! (安卓)

Animation bRegisterAnimation = fadeView(1,0,0); 
bRegisterAnimation.setAnimationListener(new AnimationListener() { 
    public void onAnimationStart(Animation arg0) {} 
    public void onAnimationRepeat(Animation arg0) {} 
    public void onAnimationEnd(Animation arg0) { 
     bRegister.clearAnimation(); 
     bRegister.setVisibility(View.INVISIBLE); 
    } 
}); 
bRegister.setAnimation(bRegisterAnimation); 

这里是fadeView功能:

public Animation fadeView(float startA, float endA, int delay) { 
    Animation animation = new AlphaAnimation(startA,endA); 
    animation.setDuration(1000); 
    animation.setStartOffset(delay); 
    return animation; 
} 

的感谢!

回答

3

我猜bRegister是在你想你的动画工作您的观点。如果是这样,你已经使用bRegister.setAnimation(bRegisterAnimation)正确设置了该视图的动画;

但您还没有使用startAnimation()启动动画。尝试一次

+0

作品像一个魅力,谢谢! – user1118042 2012-02-08 04:45:03

1

当我尝试在我的Android设备上实现动画时,我曾有过类似的体验,这是我从姐姐那里借用的。我试图让动画工作一整天,直到我终于放弃。几天后,当我意识到......所有的动画已被关闭的设置 - _ - 大声笑,以免浪费你的时间像我这可能是明智的首先检查你的设置。

+0

我甚至不能解释你是多么感激我发布了这个,几乎失去了我的想法。谢谢youuuuuuu !!!! – StackPWRequirmentsAreCrazy 2017-03-23 20:47:58

4

您需要拨打bRegister.startAnimation(bRegisterAnimation)。此外,您无需致电setAnimation()。如果你想作一个简单的动画渐变,你可以尝试使用这个:

bRegister.startAnimation(AnimationUtils.loadAnimation(
        getBaseContext(), android.R.anim.fade_in)); 
+1

感谢提醒我,Android R类已内置动画;) – sandalone 2013-06-27 15:51:59