【转】Android ProgressDialog的使用
原文网址:http://blog.csdn.net/sjf0115/article/details/7255280
版权声明:本文为博主原创文章,未经博主允许不得转载。
<1>简介
ProgressDialog是AlertDialog类的一个扩展,可以为一个未定义进度的任务显示一个旋转轮形状的进度动画,或者为一个指定进度的任务显示一个进度条。
一个对话框中显示一个进步指标和一个可选的文本信息或一个视图。只有文本信息或一个视图,可以同时使用。
对话框可以按back键取消。
<2>方法
setProgressStyle() 设置进度条风格
setTitle() 设置ProgressDialog 标题
setMessage() 设置ProgressDialog 提示信息
setIcon() 设置ProgressDialog 标题图标
setIndeterminate() 设置ProgressDialog 的进度条是否不明确
setCancelable() 设置ProgressDialog 是否可以按退回按键取消
setButton() 设置ProgressDialog 的一个Button
setProgress() 设置ProgressDialog 进度条进度
show() 显示ProgressDialog
<3>范例


- package com.yarin.android.Examples_04_24;
- 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 Activity01 extends Activity
- {
- private Button Button1 = null;
- private Button Button2 = null;
- int count = 0;
- //声明进度条对话框
- ProgressDialog progressDialog = null;
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //得到按钮对象
- Button1 = (Button)findViewById(R.id.Button01);
- Button2 = (Button)findViewById(R.id.Button02);
- //设置mButton01的事件监听
- Button1.setOnClickListener(new Button1Listener());
- //设置mButton02的事件监听
- Button2.setOnClickListener(new Button2Listener());
- }
- private class Button1Listener implements OnClickListener{
- public void onClick(View v) {
- //创建ProgressDialog对象
- progressDialog = new ProgressDialog(Activity01.this);
- // 设置进度条风格,风格为圆形,旋转的
- progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
- // 设置ProgressDialog 标题
- progressDialog.setTitle("提示");
- // 设置ProgressDialog 提示信息
- progressDialog.setMessage("这是一个圆形进度条对话框");
- // 设置ProgressDialog 标题图标
- progressDialog.setIcon(R.drawable.a);
- // 设置ProgressDialog 的进度条是否不明确
- progressDialog.setIndeterminate(false);
- // 设置ProgressDialog 是否可以按退回按键取消
- progressDialog.setCancelable(true);
- //设置ProgressDialog 的一个Button
- progressDialog.setButton("确定", new SureButtonListener());
- // 让ProgressDialog显示
- progressDialog.show();
- }
- }
- //Dialog中确定按钮的监听器
- private class SureButtonListener implements android.content.DialogInterface.OnClickListener{
- public void onClick(DialogInterface dialog, int which) {
- //点击“确定按钮”取消对话框
- dialog.cancel();
- }
- }
- private class Button2Listener implements OnClickListener{
- public void onClick(View v) {
- count = 0;
- // 创建ProgressDialog对象
- progressDialog = new ProgressDialog(Activity01.this);
- // 设置进度条风格,风格为长形
- progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
- // 设置ProgressDialog 标题
- progressDialog.setTitle("提示");
- // 设置ProgressDialog 提示信息
- progressDialog.setMessage("这是一个长形对话框进度条");
- // 设置ProgressDialog 标题图标
- progressDialog.setIcon(R.drawable.a);
- // 设置ProgressDialog 进度条进度
- progressDialog.setProgress(100); 《==应该改为 progressDialog.setMax(100)
- // 设置ProgressDialog 的进度条是否不明确
- progressDialog.setIndeterminate(false);
- // 设置ProgressDialog 是否可以按退回按键取消
- progressDialog.setCancelable(true);
- // 让ProgressDialog显示
- progressDialog.show();
- new Thread()
- {
- public void run()
- {
- try
- {
- while (count <= 100)
- {
- // 由线程来控制进度。
- progressDialog.setProgress(count++);
- Thread.sleep(100);
- }
- progressDialog.cancel();
- }
- catch (InterruptedException e)
- {
- progressDialog.cancel();
- }
- }
- }.start();
- }
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <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>
【转】Android ProgressDialog的使用的更多相关文章
- 【转】Android ProgressDialog的使用2
原文网址:http://www.cnblogs.com/hnrainll/archive/2012/03/28/2420908.html <?xml version="1.0" ...
- Android ProgressDialog 加载进度
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...
- android progressdialog 对话框试用实例
ProgressDialog 跟AlertDialog用法差不多,不同的是:ProgressDialog 显示的是一种"加载中"的效果,android 中 ProgressDial ...
- android ProgressDialog 正在载...Loading...
final ProgressDialog pd = new ProgressDialog(mContext); pd.setMessage("正在加载..."); pd.show( ...
- Android——ProgressDialog 进度条对话框
public class ProgressDialogActivity extends Activity { private Button btn_large_pd, btn_horizonta ...
- Android ProgressDialog 简单实用
ProgressDialog progressDialog; @SuppressLint("HandlerLeak") Handler handler1 = new Handler ...
- android:ProgressDialog控件
ProgressDialog 和 AlertDialog 有点类似,都可以在界面上弹出一个对话框,都能够屏蔽 掉其他控件的交互能力.不同的是,ProgressDialog 会在对话框中显示一个进度条, ...
- 自定义android ProgressDialog
Android系统自己提供的UI的都是比较难看的,开发中经常用到自定义对话框,下面分享个最近项目中使用的加载框. 下面是源代码,主要的原理就是准备几个图片,然后循环播放. MainActivity ...
- Android学习笔记_81_Android ProgressDialog ProgressBar 各种效果
1,弹出Dialog 屏幕不变暗. 创建一个样式就OK了:在styles.xml文件里添加样式: 1, <style name="dialog" parent="@ ...
随机推荐
- api图片传输,转成64位字符串进行传输
byte[] getImageByte = HttpHelper.getImageByte(HttpContext.Current.Server.MapPath(("~/UploadFile ...
- 基础之 window-self-top-opener
今天我都在怀疑,很多项目还用不用iframe这个框架做页面布局. 如果你有兴趣想告诉我,请给我留言. 一. 说明 注:这里top和window.top等价,window是可以省略的,有得情况下不允许省 ...
- viewpager在最后一页滑动之后,跳转到主页面
[TOC] viewpager在最后一页滑动之后,跳转到主页面 思路 主要有是两个监听, 一是addOnPageChangeListener();二是setOnTouchListener(): add ...
- StarUML启动时候出现"System Error. Code:1722. RPC服务器不可用."错误的解决办法
StarUML是用得很顺手的UML工具,但是启动时候每次都会出现"System Error. Code:1722. RPC服务器不可用."错误. 一般来说这个应该是某个Window ...
- CSS3高性能动画
CSS动画属性会触发整个页面的重排relayout.重绘repaint.重组recomposite Paint通常是其中最花费性能的,尽可能避免使用触发paint的CSS动画属性,在CSS动画中使用w ...
- IIS防止同一IP大量非法访问
在服务器设置访问规则,屏蔽恶意ip就可以了
- 【转自CSDN】深入 Microsoft.VisualBasic.Strings.StrConv 簡繁轉換
深入 Microsoft.VisualBasic.Strings.StrConv 簡繁轉換 昨天又遇到一個簡繁轉換的需求, 雖然這個問題以前已經處理過了, 但是以前是用自己建立的 b52gb 和 gb ...
- 关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
用vs2008链接oracle数据库出现问题,报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用,从网上找了好久方法,有两种oracle客户端文件权限,和运行vs2008以管理 ...
- OC - 17.AFNetworking原理及常用操作
AFN的六大模块 NSURLConnection,主要对NSURLConnection进行了进一步的封装,包含以下核心的类: AFURLConnectionOperation AFHTTPReques ...
- border-radius的浏览器兼容
早期开发时,圆角的实现对于开发者来说是一个头疼的事情,因为需要添加多种图片以及定位去实现固定.缺乏灵活性的圆角容器,故css3中引入了border-radius属性,使得开发者实现圆角变得轻而易举! ...