繁体   English   中英

防止在动画过程中视图位于前面

[英]Prevent view to be in front during animation

我有一个显示或隐藏视图的按钮。 当按下按钮时,视图将添加到布局中,然后开始翻译动画。 第二次按下按钮将从布局中删除该视图。 我使用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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM