編輯:Android開發教程
當要進行耗時的操作的時候,往往會看見“請稍候”字樣的對話框。例如,用戶正在登入服務器,此時並 不允許用戶使用這個軟件,或者應用程序把結果返回給用戶之前,要進行某些耗時的計算。在這些情況下, 顯示一個“進度條”對話框,能友好地讓用戶等待,同時也能阻止用戶進行某些不必要的操作。
1. 創建一個工程:Dialog。
2. main.xml中的代碼。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/btn_dialog2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onClick2" android:text="Click to display a progress dialog" /> </LinearLayout>
3. DialogActivity.java中的代碼。
public class DialogActivity extends Activity { ProgressDialog progressDialog; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onClick2(View v) { // ---show the dialog--- final ProgressDialog dialog = ProgressDialog.show(this, "Doing something", "Please wait...", true); new Thread(new Runnable() { public void run() { try { // ---simulate doing something lengthy--- Thread.sleep(5000); // ---dismiss the dialog--- dialog.dismiss(); } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); } }
4. 按F11調試,點擊按鈕,彈出“進度條”對話框。
基本 上,想要創建一個“進度條”對話框,只需要創建一個ProgressDialog類的實例,然後調用show()方法:
// ---show the dialog--- final ProgressDialog dialog = ProgressDialog.show(this, "Doing something", "Please wait...", true);
因為它是一個“模態”的對話框,所以 它就會把其他UI組件給遮蓋住,直到它被解除。如果想要在後台執行一個“長期運行”的任務,可以創建一 個線程。run()方法裡面的代碼將會在一個獨立的線程裡面執行。下面的代碼使用sleep()方法,模擬了一個 需要5秒執行的後台任務:
new Thread(new Runnable() { public void run() { try { // ---simulate doing something lengthy--- Thread.sleep(5000); // ---dismiss the dialog--- dialog.dismiss(); } catch (InterruptedException e) { e.printStackTrace(); } } }).start();
5秒鐘之後,執行dismiss()方法,對話框就被解除了。
 
App->Activity->Custom Dialog 例子使用Activity 來實現自定義對話框。 類CustomDialogActivity本身無任何
本系列文章都會以一個程序的實例開發為主線來進行講解,以求達到一個循序漸進的學習效果,這樣更能 加深大家對於程序為什麼要這樣寫的用意,理論加上實際的應用才能達到事半功倍的
前面在Android RoboGuice 使用指南(1):概述 對應Roboguice做了簡要的介紹 ,之後介紹了Google Guice的基本用法,Roboguice是
這裡我們使用類比的方法,將 PreferenceActivity 與一般的Activity 作個類比,可以更好的理解Android.Preference中的 各個類。
Local Service Controller 是將LocalServ