Android启用onAnimationEnd上的按钮

时间:2013-09-25 14:01:43

标签: android animation

我已经在ButtonNext按钮上实现了一个动画,这样当用户正确回答问题时,buttonNext会像翻转卡片一样动画,从原始面朝上到底部绿色面朝下。

编码如下:

isBlackShowing = false;
if (temp.equals(correct_answer))
{           
    buttonNext.clearAnimation();
    buttonNext.setAnimation(to_middle);
    buttonNext.startAnimation(to_middle);
}

@Override
public void onAnimationEnd(Animation animation) 
{
    if (isBlackShowing == false)
    {       
        buttonNext.setText("Next!");

        buttonNext.setBackgroundResource(R.drawable.green_btn);                 
        buttonNext.clearAnimation();
        buttonNext.setAnimation(from_middle);           
        buttonNext.startAnimation(from_middle);     
    }           
        isBlackShowing = true;
        buttonNext.setEnabled(true);            
}   

问题:

我想只在所有动画完成时启用ButtonNext,即正确显示绿色faceDown。

然而,通过以上代码,我发现该按钮已经启用,如果在动画期间按住按钮,用户可以自由跳转到下一个,下一个和下一个问题。

如何修复上述故障?

感谢!!!

1 个答案:

答案 0 :(得分:0)

按照我的建议交换按钮的监听器;

final View.OnClickListener first= new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            result.setText("first");

        }
    };
    final View.OnClickListener second= new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            result.setText("second");

        }
    };
    Button swap= (Button) findViewById(R.id.swap);
    final Button btn=(Button) findViewById(R.id.button1);
    swap.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if(a==1)
            {
                btn.setOnClickListener(first);
                a=2;
            }
            else{
                btn.setOnClickListener(second);
                a=1;
            }

        }
    });

我正在使用一个名为swap的按钮来快速测试它并且它有效。看起来这就是你正在寻找的东西。