0

我有一个显示或隐藏视图的按钮。当按钮被按下时,视图被添加到布局中并开始翻译动画。第二个按钮按下将从布局中删除视图。我用户addView(view, 0)确保该视图位于所有其他视图之后。它通常工作正常。

当显示视图并且我非常快速地按下按钮两次(有点双击)时,就会出现问题。在这种情况下,视图会在动画期间跳到前面。

我怎样才能防止这种情况?

4

1 回答 1

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);
于 2011-03-25T10:35:59.670 回答