点击动画按钮后,转换动画无效。

3
当我点击按钮时,翻译动画开始。然后按钮被放置在翻译动画结束的位置。它工作得很好,但动画完成后按钮点击无效。 谢谢。
public class ButtonFragment extends Activity  implements OnClickListener{

private Button btn;
private int width;
private Boolean flag = true;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_button_fragment);

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    width = size.x;

    btn = (Button) findViewById(R.id.btn);
    btn.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    TranslateAnimation animation = null;
    switch (v.getId()) {
    case R.id.btn:

        if(flag ==  true) {             
            animation = new TranslateAnimation(0, width-92 , 0, 0);
            flag=false;
        }
        else{
            animation = new TranslateAnimation(width-92,0 , 0, 0);
            flag = true;
        }

        animation.setDuration(1000);
        animation.setFillAfter(true);
        btn.startAnimation(animation);

        break;

    default:
        break;
    }



  }
           }

代码的正确对齐已完成。

1个回答

3
此页面所述:
属性动画的另一个缺点是它只修改了 View 的绘制位置,而不是实际的 View 本身。例如,如果您将按钮动画移动到屏幕上,按钮会正确绘制,但可以单击按钮的实际位置不会改变,因此您必须实现自己的逻辑来处理此问题。
请尝试使用属性动画并阅读上面给出的链接。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接