如何在 Android 中阻止用户在几秒钟内进行所有交互的 UI?
我想知道,如何通过一些延迟时间来做到这一点,例如wait(5000);
您可以覆盖dispatchTouchEvent
并停止对super.dispatchTouchEvent(ev);
任何触摸事件的调用在处理之前必须通过此方法。
设置您控制的布尔值并在方法中使用它来确定您是否希望阻止控制。
private boolean stopUserInteractions = false;
public boolean dispatchTouchEvent(MotionEvent ev) {
if (stopUserInteractions) {
return true;
} else {
return super.dispatchTouchEvent(ev);
}
}
需要时通过代码显示Non-cancelable progress dialog
和关闭它......
看例子
http://www.helloandroid.com/tutorials/using-threads-and-progressdialog
您可以弹出一个模式的、不可取消的进度对话框,阻止用户做任何事情。但是,您永远不应该阻塞 UI 线程本身。
在 UI Block time 中使用 ProgressDialog。将 ProgressDialog 可取消设置为 false。因此用户无法访问 UI。
谢谢。