Использование ProgressDialog
В этом небольшом посте покажем использование ProgressDialog. ProgressDialog можно использовать для отображения на экране, когда выполняется какая-либо долговременная операция (например, в рабочем потоке идет скачивание файла с сервера в Интернете).
Программа ниже демонстрирует следующее:
- Запуск рабочего процесса
- Работу с ProgressDialog
- Динамическое создание UI
Скриншотик:
Исходник:
package com.thecompany.testprogressdialog;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
private Button clickBtn;
private ProgressDialog progressDialog;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
clickBtn = new Button(this);
ll.addView(clickBtn);
clickBtn.setText("Click me");
clickBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
progressDialog = ProgressDialog.show(MainActivity.this, "", "Loading...");
new Thread() {
public void run() {
try {
sleep(3*1000);
} catch (Exception e) {
Log.e("MainActivity", e.getMessage());
}
progressDialog.dismiss();
}
}.start();
}
});
this.setContentView(ll);
}
}
Как видим, если задать title для ProgressDialog пустой строкой, то диалог покажется таким маленьким, скромненьким окошечком.
Данный пост отталкивается от поста Using ProgressDialog in Android Activity в блоге The Developer's Info