2014-10-22 74 views
1

所以我想同时做2个动画,一个移动一个textview,一个显示一个linearlayout(也是2个动画来隐藏它们)。我有另一个动画按预期工作来显示/隐藏单独的布局。当我用2个动画执行显示视图时,它会工作一次,它隐藏得很好,但不会再工作。然后,当我显示其他视图时,它会播放所有3个动画(不打算)。我无法弄清楚为什么会发生这种情况?当我尝试显示2个动画什么都不做,但后来当我尝试其他模式查看它像它被添加到队列中,它显示了所有3Android动画只能使用一次?

我发起的两个动画代码:

 LinearLayout layoutMsgs = (LinearLayout)findViewById(R.id.layoutMsgs); 
     Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.msgs_show); 
     anim.setAnimationListener(new AnimListener(layoutMsgs, View.VISIBLE)); // sets visibility on animation end 
     layoutMsgs.startAnimation(anim); 

     TextView tvMsgs = (TextView)findViewById(R.id.tvMsgs); 
     Animation tvAnim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.tvmsgs_show); 
     tvMsgs.startAnimation(tvAnim); 

我隐藏了两个动画代码:

LinearLayout layoutMsgs = (LinearLayout)findViewById(R.id.layoutMsgs); 
    Animation animLayout = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.msgs_hide); 
    animLayout.setAnimationListener(new AnimListener(layoutMsgs, View.INVISIBLE)); 
    layoutMsgs.startAnimation(animLayout); 

    TextView tvMsgs = (TextView)findViewById(R.id.tvMsgs); 
    Animation animMsgs = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.tvmsgs_hide); 

    tvMsgs.startAnimation(animMsgs); 

那么这是工作的罚款其他动画,它只有一个动画,没有TextView的,只是一个布局

 LinearLayout pokeLayout = (LinearLayout)findViewById(R.id.layoutPokes); 
     Animation anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.poke_show); 
     anim.setAnimationListener(new AnimListener(pokeLayout, View.VISIBLE)); 
     pokeLayout.startAnimation(anim); 

那么我该如何解决这个问题?很抱歉,如果我的解释不好,我很难解释所有的细节,请索取任何缺少的信息。

回答