Adam Varhegyi
Adam Varhegyi

Reputation: 9894

How to block UI for some seconds in android?

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

Answers (5)

Bhavin
Bhavin

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

Md Abdul Gafur
Md Abdul Gafur

Reputation: 6201

Use ProgressDialog in UI Block time. Set ProgressDialog cancel-able false. So user do not able to access UI.

Thanks.

Upvotes: 1

cklab
cklab

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

Ted Hopp
Ted Hopp

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

Dheeresh Singh
Dheeresh Singh

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

Related Questions