如何在android中屏蔽UI几秒钟?

如何在android中屏蔽UI几秒钟?,android,wait,android-ui,Android,Wait,Android Ui,在安卓系统中,我如何阻止用户在几秒钟内进行所有交互 我想知道,如何使用一些延迟计时,如wait(5000)显示不可取消的进度对话框,并在需要时按代码关闭它 参见示例 您可以弹出一个模式的、不可取消的进度对话框,阻止用户执行任何操作。但是,永远不要阻止UI线程本身。您可以覆盖并停止对super.dispatchTouchEvent(ev)的调用任何触摸事件都必须通过此方法才能处理 设置要控制的布尔值,并在方法中使用它来确定是否要阻止控制 private boolean stopUserIntera

在安卓系统中,我如何阻止用户在几秒钟内进行所有交互


我想知道,如何使用一些延迟计时,如
wait(5000)

显示
不可取消的进度对话框
,并在需要时按代码关闭它

参见示例


您可以弹出一个模式的、不可取消的进度对话框,阻止用户执行任何操作。但是,永远不要阻止UI线程本身。

您可以覆盖并停止对super.dispatchTouchEvent(ev)的调用任何触摸事件都必须通过此方法才能处理

设置要控制的布尔值,并在方法中使用它来确定是否要阻止控制

private boolean stopUserInteractions = false;

public boolean dispatchTouchEvent(MotionEvent ev) {
    if (stopUserInteractions) {
        return true;
    } else {
        return super.dispatchTouchEvent(ev);
    }
}

在UI块时间中使用ProgressDialog。将ProgressDialog cancel设置为false。所以用户无法访问UI


谢谢

由于您的问题很短,您将以这种方式得到答案


您可以使用或使某些ProgressDialog对用户可见。

切勿这样做,否则会导致ANR。另一种方法是在后台工作中使用一些进度对话框。您忽略了键盘交互的可能性,而且这必须在所有活动中静态实现。最好使用进度对话框方法。