我有一个显示或隐藏视图的按钮。按下按钮时,视图将添加到布局,并开始翻译动画。按下第二个按钮将从布局中删除视图。
我用户addView(view, 0)
确保视图位于所有其他视图的后面。它通常很好。
显示视图时出现问题,我按两次按钮非常快(双击一下)。在这种情况下,视图会在动画期间跳转到前面。
我该如何防止这种情况?
答案 0 :(得分:1)
只需停用(setEnabled(false)
)按钮,然后在AnimationListener.onAniationEnd()
中启用它。
UPD :好的,这就是代码,它说明了我的想法:
final Button btn = (Button) findViewById(R.id.myButton);
View view = (View) findViewById(R.id.myView);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
btn.setEnabled(false);
// animation here
addView(view, 0);
}
});
// somewhere else
final Button btn = (Button) findViewById(R.id.myButton);
btn.setEnabled(true);
removeView(view);