Reputation: 9894
How can i block UI from all interactions for some seconds by user in Android?
I would like to know, how to do this with some delay timing like wait(5000);
Upvotes: 5
Views: 7663
Reputation: 6010
As your Question is Short, you will get answer in that manner.
You can use Thread or AsyncTask for making some ProgressDialog being Visible for the User.
Upvotes: 1
Reputation: 6201
Use ProgressDialog in UI Block time. Set ProgressDialog cancel-able false. So user do not able to access UI.
Thanks.
Upvotes: 1
Reputation: 3771
You can override dispatchTouchEvent
and stop the call to super.dispatchTouchEvent(ev);
Any touch event will have to go through this method before it is handled.
Set a boolean that you control and use it in the method to determine whether you wish to block control.
private boolean stopUserInteractions = false;
public boolean dispatchTouchEvent(MotionEvent ev) {
if (stopUserInteractions) {
return true;
} else {
return super.dispatchTouchEvent(ev);
}
}
Upvotes: 9
Reputation: 234807
You can pop up a modal, non-cancelable progress dialog that blocks the user from doing anything. However, you should never block the UI thread itself.
Upvotes: 1
Reputation: 15701
Show Non-cancelable progress dialog
and close it by code when you want.......
see example
http://www.helloandroid.com/tutorials/using-threads-and-progressdialog
Upvotes: 4