How can I programmatically display an hourglass in an Android application?
Android hourglass
20.5k Views Asked by Arutha At
2
There are 2 best solutions below
0

Here is a simple example of doing it using AsyncTask:
public class MyActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
...
new MyLoadTask(this).execute(); //If you have parameters you can pass them inside execute method
}
private class MyLoadTask extends AsyncTask <Object,Void,String>{
private ProgressDialog dialog;
public MyLoadTask(MyActivity act) {
dialog = new ProgressDialog(act);
}
protected void onPreExecute() {
dialog.setMessage("Loading...");
dialog.show();
}
@Override
protected String doInBackground(Object... params) {
//Perform your task here....
//Return value ... you can return any Object, I used String in this case
try {
Thread.sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return(new String("test"));
}
@Override
protected void onPostExecute(String str) {
//Update your UI here.... Get value from doInBackground ....
if (dialog.isShowing()) {
dialog.dismiss();
}
}
}
You can use a
ProgressDialog
:The above code will show the following dialog on top of your
Activity
:Alternatively (or additionally) you can display a Progress indicator in the title bar of your
Activity
.You need to request this as a feature near the top of the
onCreate()
method of yourActivity
using the following code:Then turn it on like this:
and turn it off like this: