Android 对话框中的进度条 ProgressDialog

分享到:

先看效果图:

Android 对话框中的进度条 ProgressDialog Android 对话框中的进度条 ProgressDialog

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

package com.yarin.android.TestOnPDialog;

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 PDialog extends Activity
{
private Button mButton01,mButton02;
int m_count = 0;
//声明进度条对话框
ProgressDialog m_pDialog;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//得到按钮对象
mButton01 = (Button)findViewById(R.id.Button01);
mButton02 = (Button)findViewById(R.id.Button02);
//设置mButton01的事件监听
mButton01.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
//创建ProgressDialog对象
m_pDialog = new ProgressDialog(PDialog.this);
// 设置进度条风格,风格为圆形,旋转的
m_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
// 设置ProgressDialog 标题
m_pDialog.setTitle("提示");
// 设置ProgressDialog 提示信息
m_pDialog.setMessage("这是一个圆形进度条对话框");
// 设置ProgressDialog 标题图标
m_pDialog.setIcon(R.drawable.img1);
// 设置ProgressDialog 的进度条是否不明确
m_pDialog.setIndeterminate(false);
// 设置ProgressDialog 是否可以按退回按键取消
m_pDialog.setCancelable(true);
// 设置ProgressDialog 的一个Button
m_pDialog.setButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int i)
{
//点击“确定按钮”取消对话框
dialog.cancel();
}
});
// 让ProgressDialog显示
m_pDialog.show();
}
});
//设置mButton02的事件监听
mButton02.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
m_count = 0;
// 创建ProgressDialog对象
m_pDialog = new ProgressDialog(PDialog.this);
// 设置进度条风格,风格为长形
m_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
// 设置ProgressDialog 标题
m_pDialog.setTitle("提示");
// 设置ProgressDialog 提示信息
m_pDialog.setMessage("这是一个长形对话框进度条");
// 设置ProgressDialog 标题图标
m_pDialog.setIcon(R.drawable.img2);
// 设置ProgressDialog 进度条进度
m_pDialog.setProgress(100);
// 设置ProgressDialog 的进度条是否不明确
m_pDialog.setIndeterminate(false);
// 设置ProgressDialog 是否可以按退回按键取消
m_pDialog.setCancelable(true);
// 让ProgressDialog显示
m_pDialog.show();
new Thread()
{
public void run()
{
try
{
while (m_count <= 100)
{
// 由线程来控制进度。
m_pDialog.setProgress(m_count++);
Thread.sleep(100);
}
m_pDialog.cancel();
}
catch (InterruptedException e)
{
m_pDialog.cancel();
}
}
}.start();
}
});
}
}

昵    称:
验证码:

相关文档:

  • Android--多线程之图文混排
    前言 本周一直在说Android多线程的那些事儿,本篇博客聊一聊Android开发中一个比较经典的案例,网络数据图文混排,本片博客的案例只涉...
  • 关于android设备唯一区分device id的取得
    有些apk为了区分唯一设备,需要用到一个deviceid。1.取得设备的MACaddress如果用户没有通过wifi连网路的话,就无法取得。2.使用TelephonyManager...
  • Android系列--DOM、SAX、Pull解析XML
    您可以通过点击右下角的按钮来对文章内容作出评价,也可以通过左下方的关注按钮来关注我的博客的最新动态。 如果文章内容对您有帮...
  • Android服务之网络服务发现服务
    自android 4.1 开始实现了一个网络服务的发现服务NsdService,其基于苹果的Bonjour服务发现协议,支持远程服务的发现和零配置。...
  • Android编程14个实用的代码片段
    Android编程14个实用的代码片段...
  • 一个常用Android工具类
    一个常用Android工具类...
  • Android小笔记
    一、ProgressBar控制转速 <ProgressBar android:id="@+id/pb" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravit...
  • Android 程式开发:(十三)特殊碎片 —— 13.2 DialogFragment
    Android程式开发:(十三)特殊碎片——13.2DialogFragment 原文地址 我们也可以创建另外一种碎片——DialogFragment。顾名思义,Dia...
  • android wifi之WifiMonitor
    通过在网上的学习已经了解了wifi的大致流程,现在学习了wifi的核心类之一WifiMomitor,监控wpa_supplicant的消息并实时作出处理。 首先看该...
  • android:layout_gravity 和 android:gravity 的区别
    gravity这个英文单词是重心的意思,在这里就表示停靠位置的意思。android:layout_gravity和android:gravity的区别从名字上可以看到,android:gravity...
  • android studio 报ambiguous method call
    如题,在androidstudio中调用this.toString时,提示的错误信息是ambiguousmethodcall.bothgetclass()inobjectandgetclass()inobjectmatch 主要是编译器不清楚getclas...
  • (转)Android系统架构----&----Android初始化流程
    Android系统架构分为五层 1,应用程序层 如桌面home,E-mail客户端,SMS/MMS短消息,日历,地图,浏览器,联系人程序等··· 当然...
  • AIDL在android系统中的作用
    AIDL,AndroidInterfacedefinitionlanguage的缩写,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口。最近看了下A...
  • 【转】Android折叠效果实现案例
    源文:http://mobile.51cto.com/abased-401983.htm 为了使界面的效果更加绚丽,体验效果更佳,往往需要开发者们自行开发新的界面效果,在这里,...
  • Android动画之Tween动画实战
    Android动画分为Tween动画和Frame动画,上一节通过一个实例介绍了Frame动画,本节将介绍Tween动画。Tween可以把对象进行缩小、放大、旋转和...
  • AsyncTask异步加载图片示例
    importjava.io.IOException; importorg.apache.http.HttpEntity; importorg.apache.http.HttpResponse; importorg.apache.http.client.ClientProtocolExceptio...
  • tabhost练习,剥离自“去哪儿”
    如下图(喜欢这种干净整洁): 1.MainActivity.java 1packagecom.example.tab1; 2 3importcom.example.framgent.Fav_Fragment; 4importcom.example.framgent.Index_Fragment...
  • Android 操作Sqlite
    首先要用一个类来继承SQLiteOpenHelper,并必须实现 publicDatabaseHelper(Contextcontext,Stringname,CursorFactoryfactory, intversion){ super(context,name,factory,versi...
  • Android MediaCodec stuff
    原文地址:http://bigflake.com/mediacodec/ ThispageisabouttheAndroidMediaCodecclass,whichcanbeusedtoencodeanddecodeaudioandvideodata.Itincludesacollectionof...
  • Android水平无限期进度条:SmoothProgressBar
    一个小的Android库,让您具有光滑和可定制的水平无限期进度条。...