在动画期间阻止视图在前面

时间:2011-03-25 10:33:05

标签: android android-layout android-animation

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

显示视图时出现问题,我按两次按钮非常快(双击一下)。在这种情况下,视图会在动画期间跳转到前面。

我该如何防止这种情况?

1 个答案:

答案 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);