1. 程式人生 > >對話方塊進度條——ProgressDialog

對話方塊進度條——ProgressDialog

xml檔案:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width
="wrap_content" android:layout_height="wrap_content" android:text="@string/button1" />
<Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button2" /> </LinearLayout
>

java檔案:

package com.imooc.progressdialog1;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity
{
    private Button button1,button2;

    int
m_count = 0; //宣告進度條對話方塊 ProgressDialog progressdialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //得到按鈕物件 button1 = (Button)findViewById(R.id.button1); button2 = (Button)findViewById(R.id.button2); //設定button1的事件監聽 button1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //建立ProgressDialog物件 progressdialog = new ProgressDialog(MainActivity.this); // 設定進度條風格,風格為圓形,旋轉的 progressdialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); // 設定ProgressDialog 標題 progressdialog.setTitle("提示"); // 設定ProgressDialog 提示資訊 progressdialog.setMessage("這是一個圓形進度條對話方塊"); // 設定ProgressDialog 標題圖示 progressdialog.setIcon(R.drawable.ic_launcher); // 設定ProgressDialog 的進度條是否不明確 progressdialog.setIndeterminate(false); // 設定ProgressDialog 是否可以按退回按鍵取消 progressdialog.setCancelable(true); // 設定ProgressDialog 的一個Button //setButton的前兩種方法過時,被打上橫線,用第三種方法,如下: - 列表內容 progressdialog.setButton(DialogInterface.BUTTON_POSITIVE, "確定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int i) { //點選“確定按鈕”取消對話方塊 dialog.cancel(); } }); // 讓ProgressDialog顯示 progressdialog.show(); } }); //設定mButton02的事件監聽 button2.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub m_count = 0; // 建立ProgressDialog物件 progressdialog = new ProgressDialog(MainActivity.this); // 設定進度條風格,風格為長形 progressdialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // 設定ProgressDialog 標題 progressdialog.setTitle("提示"); // 設定ProgressDialog 提示資訊 progressdialog.setMessage("這是一個長形對話方塊進度條"); // 設定ProgressDialog 標題圖示 progressdialog.setIcon(R.drawable.ic_launcher); // 設定ProgressDialog 進度條進度 progressdialog.setProgress(100); // 設定ProgressDialog 的進度條是否不明確 progressdialog.setIndeterminate(false); // 設定ProgressDialog 是否可以按退回按鍵取消 progressdialog.setCancelable(true); // 讓ProgressDialog顯示 progressdialog.show(); new Thread() { public void run() { try { while (m_count <= 100) { // 由執行緒來控制進度 progressdialog.setProgress(m_count++); Thread.sleep(100); } progressdialog.cancel(); } catch (InterruptedException e) { progressdialog.cancel(); } } }.start(); } }); } }

這裡寫圖片描述
這裡寫圖片描述