ProgerssDialog对话框中的进度条

来源:互联网 发布:orange数据挖掘软件 编辑:程序博客网 时间:2024/06/10 13:53

1./TestProgerssDialog/res/layout/main.xml:

<?xml version="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

    <TextView 

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/hello"

    />

    <Button

    android:id="@+id/button01"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="圆形进度条"

    />

    <Button

    android:id="@+id/button02"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:text="长形进度条"

    />

</LinearLayout>

2.TestProgerssDialogActivity:

import android.app.Activity;

import android.app.ProgressDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

 

public class TestProgerssDialogActivityextends Activity

{

    privateButton mButton01;

 

    privateButton mButton02;

 

    privateint m_count;

 

    @Override

    publicvoid onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        mButton01 = (Button) findViewById(R.id.button01);

        mButton02 = (Button) findViewById(R.id.button02);

        mButton01.setOnClickListener(listener);

        mButton02.setOnClickListener(listener);

    }

 

    OnClickListener listener = newOnClickListener()

    {

        @Override

        public voidonClick(View v)

        {

           switch (v.getId())

            {

               case R.id.button01:

                    ProgressDialog mProgressDialog =newProgressDialog(TestProgerssDialogActivity.this);

                   // 设置mProgressDialog风格

                    mProgressDialog.setProgress(ProgressDialog.STYLE_SPINNER);

                   // 设置mProgressDialog标题

                    mProgressDialog.setTitle("提示");

                   // 设置mProgressDialog提示

                    mProgressDialog.setMessage("这是一个圆形进度条对话框");

                   // 设置mProgressDialog进度条的图标

                    mProgressDialog.setIcon(R.drawable.flag);

                   // 设置mProgressDialog的进度条是否不明确

                    mProgressDialog.setIndeterminate(false);

                    //是否可以按回退键取消

                    mProgressDialog.setCancelable(true);

                   // 设置mProgressDialog的一个Button

                    mProgressDialog.setButton("确定",newDialogInterface.OnClickListener()

                    {

                        @Override

                       public voidonClick(DialogInterface dialog,int which)

                        {

                            dialog.cancel();

                        }

                    });

                   // 显示mProgressDialog

                    mProgressDialog.show();

                   break;

               case R.id.button02:

                   m_count = 0;

 

                   final ProgressDialog mProgressDialog2 = newProgressDialog(TestProgerssDialogActivity.this);

                   // 设置mProgressDialog风格为长形

                    mProgressDialog2.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

                   // 设置mProgressDialog标题

                    mProgressDialog2.setTitle("提示");

                   // 设置mProgressDialog提示

                    mProgressDialog2.setMessage("这是一个圆形进度条对话框");

                   // 设置mProgressDialog进度条的图标

                    mProgressDialog2.setIcon(R.drawable.flag2);

                   // 设置mProgressDialog的进度条是否不明确

                    mProgressDialog2.setIndeterminate(false);

                   // 是否可以按回退键取消

                    mProgressDialog2.setCancelable(true);

                   new Thread()

                    {

 

                        @Override

                       public voidrun()

                        {

                           while (m_count <= 100)

                            {

                               try

                                {

                                    mProgressDialog2.setProgress(m_count++);

                                    Thread.sleep(100);

                                }

                               catch (InterruptedException e)

                                {

                                    e.printStackTrace();

                                }

                            }

                        }

 

                    }.start();

                   // 设置mProgressDialog的一个Button

                    mProgressDialog2.setButton("确定",newDialogInterface.OnClickListener()

                    {

                       @Override

                       public voidonClick(DialogInterface dialog,int which)

                        {

                            dialog.cancel();

                        }

                    });

                   // 显示mProgressDialog

                    mProgressDialog2.show();

                   break;

            }

        }

    };

}

3.效果图:

软件运行:

ProgerssDialog对话框中的进度条

点击“圆形进度条”按钮:
ProgerssDialog对话框中的进度条

点击“长形进度条”按钮:
ProgerssDialog对话框中的进度条

原创粉丝点击