我有一个显示或隐藏视图的按钮。当按钮被按下时,视图被添加到布局中并开始翻译动画。第二个按钮按下将从布局中删除视图。我用户addView(view, 0)
确保该视图位于所有其他视图之后。它通常工作正常。
当显示视图并且我非常快速地按下按钮两次(有点双击)时,就会出现问题。在这种情况下,视图会在动画期间跳到前面。
我怎样才能防止这种情况?
我有一个显示或隐藏视图的按钮。当按钮被按下时,视图被添加到布局中并开始翻译动画。第二个按钮按下将从布局中删除视图。我用户addView(view, 0)
确保该视图位于所有其他视图之后。它通常工作正常。
当显示视图并且我非常快速地按下按钮两次(有点双击)时,就会出现问题。在这种情况下,视图会在动画期间跳到前面。
我怎样才能防止这种情况?
只需禁用(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);