如何在Android中阻止UI几秒钟?

时间:2012-06-28 06:54:43

标签: android wait android-ui

如何在Android中用户阻止用户在几秒钟内完成所有互动?

我想知道,如何使用像wait(5000);

这样的延迟时间来做到这一点

5 个答案:

答案 0 :(得分:9)

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

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

private boolean stopUserInteractions = false;

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

答案 1 :(得分:4)

显示Non-cancelable progress dialog并在需要时按代码关闭.......

参见示例

http://www.helloandroid.com/tutorials/using-threads-and-progressdialog

答案 2 :(得分:1)

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

答案 3 :(得分:1)

在UI Block时间中使用ProgressDialog。设置ProgressDialog取消错误。因此用户无法访问UI。

感谢。

答案 4 :(得分:1)

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

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