android 对话框学习

小虾米 阅读:576 2021-04-01 10:05:16 评论:0

 

首先需要创建ProgressDialog对象,然后使用线程控制进度条显示,具体源代码:

view source

print?

001

package com.yarin.android.TestOnPDialog;

002

  

 

003

import android.app.Activity;

004

import android.app.ProgressDialog;

 

005

import android.content.DialogInterface;

006

import android.os.Bundle;

 

007

import android.view.View;

008

import android.widget.Button;

 

009

  

010

public class PDialog extends Activity

 

011

{

012

    private Button mButton01,mButton02;

 

013

     

014

    int m_count = 0;

 

015

    //声明进度条对话框

016

    ProgressDialog m_pDialog;

 

017

     

018

    @Override

 

019

    public void onCreate(Bundle savedInstanceState)

020

    {

 

021

        super.onCreate(savedInstanceState);

022

        setContentView(R.layout.main);

 

023

         

024

        //得到按钮对象

 

025

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

026

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

 

027

         

028

        //设置mButton01的事件监听

 

029

        mButton01.setOnClickListener(new Button.OnClickListener() {

030

            @Override

 

031

            public void onClick(View v)

032

            {

 

033

                // TODO Auto-generated method stub

034

                 

 

035

                //创建ProgressDialog对象

036

                m_pDialog = new ProgressDialog(PDialog.this);

 

037

  

038

                // 设置进度条风格,风格为圆形,旋转的

 

039

                m_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

040

  

 

041

                // 设置ProgressDialog 标题

042

                m_pDialog.setTitle("提示");

 

043

                 

044

                // 设置ProgressDialog 提示信息

 

045

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

046

  

 

047

                // 设置ProgressDialog 标题图标

048

                m_pDialog.setIcon(R.drawable.img1);

 

049

  

050

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

 

051

                m_pDialog.setIndeterminate(false);

052

                 

 

053

                // 设置ProgressDialog 是否可以按退回按键取消

054

                m_pDialog.setCancelable(true);

 

055

                 

056

                // 设置ProgressDialog 的一个Button

 

057

                m_pDialog.setButton("确定", new DialogInterface.OnClickListener() {

058

                    public void onClick(DialogInterface dialog, int i)

 

059

                    {

060

                        //点击“确定按钮”取消对话框

 

061

                        dialog.cancel();

062

                    }

 

063

                });

064

  

 

065

                // 让ProgressDialog显示

066

                m_pDialog.show();

 

067

            }

068

        });

 

069

         

070

      //设置mButton02的事件监听

 

071

        mButton02.setOnClickListener(new Button.OnClickListener() {

072

            @Override

 

073

            public void onClick(View v)

074

            {

 

075

                // TODO Auto-generated method stub

076

                 

 

077

                m_count = 0;

078

                 

 

079

                // 创建ProgressDialog对象

080

                m_pDialog = new ProgressDialog(PDialog.this);

 

081

                 

082

                // 设置进度条风格,风格为长形

 

083

                m_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);

084

                 

 

085

                // 设置ProgressDialog 标题

086

                m_pDialog.setTitle("提示");

 

087

                 

088

                // 设置ProgressDialog 提示信息

 

089

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

090

                 

 

091

                // 设置ProgressDialog 标题图标

092

                m_pDialog.setIcon(R.drawable.img2);

 

093

                 

094

                // 设置ProgressDialog 进度条进度

 

095

                m_pDialog.setProgress(100);

096

                 

 

097

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

098

                m_pDialog.setIndeterminate(false);

 

099

                 

100

                // 设置ProgressDialog 是否可以按退回按键取消

 

101

                m_pDialog.setCancelable(true);

102

                 

 

103

                // 让ProgressDialog显示

104

                m_pDialog.show();

 

105

                 

106

                new Thread()

 

107

                {

108

                    public void run()

 

109

                    {

110

                        try

 

111

                        {

112

                            while (m_count <= 100)

 

113

                            {

114

                                // 由线程来控制进度。

 

115

                                m_pDialog.setProgress(m_count++);

116

                                Thread.sleep(100);

 

117

                            }

118

                            m_pDialog.cancel();

 

119

                        }

120

                        catch (InterruptedException e)

 

121

                        {

122

                            m_pDialog.cancel();

 

123

                        }

124

                    }

 

125

                }.start();

126

                 

 

127

            }

128

        });

 

129

    }

标签:Android
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号