<?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/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="条形进度条" /> <Button
android:id="@+id/circle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="圆形进度条" /> </LinearLayout>
package com.example.yanlei.my;

import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.TimePicker; public class MainActivity extends AppCompatActivity { //声明按钮
private Button btnCircle=null;
private Button btnProgress=null;
//声明进度条对话框
private ProgressDialog pdDialog=null;
//进度计数
int iCount = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnCircle = (Button)findViewById(R.id.circle);
btnProgress = (Button)findViewById(R.id.progress); //设置btnCircle的事件监听
btnCircle.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View v){ iCount = 0;
//创建ProgressDialog对象
pdDialog = new ProgressDialog(MainActivity.this); //设置进度条风格,风格为圆形,旋转的
pdDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); // 设置ProgressDialog 标题
pdDialog.setTitle("圆形进度条"); // 设置ProgressDialog 提示信息
pdDialog.setMessage("正在下载中……"); // 设置ProgressDialog 标题图标
pdDialog.setIcon(R.drawable.ic_launcher); // 设置ProgressDialog 进度条进度
pdDialog.setProgress(100); // 设置ProgressDialog 的进度条是否不明确
pdDialog.setIndeterminate(false); // 设置ProgressDialog 是否可以按退回按键取消
pdDialog.setCancelable(true); // 设置ProgressDialog 的一个Button
pdDialog.setButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int i)
{
//点击“取消”按钮取消对话框
dialog.cancel();
}
}); // 让ProgressDialog显示
pdDialog.show(); //创建线程实例
new Thread(){
public void run(){
try{
while (iCount <= 100) {
// 由线程来控制进度。
pdDialog.setProgress(iCount ++);
Thread.sleep(50);
}
pdDialog.cancel();
}
catch (InterruptedException e){
pdDialog.cancel();
}
} }.start();
} }); //设置btnProgress的事件监听
btnProgress.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v)
{
iCount = 0;
// 创建ProgressDialog对象
pdDialog = new ProgressDialog(MainActivity.this); // 设置进度条风格,风格为长形
pdDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // 设置ProgressDialog 标题
pdDialog.setTitle("条形进度条"); // 设置ProgressDialog 提示信息
pdDialog.setMessage("正在下载中……"); // 设置ProgressDialog 标题图标
pdDialog.setIcon(R.drawable.ic_launcher); // 设置ProgressDialog 进度条进度
pdDialog.setProgress(100); // 设置ProgressDialog 的进度条是否不明确
pdDialog.setIndeterminate(false); // 设置ProgressDialog 是否可以按退回按键取消
pdDialog.setCancelable(true); // 让ProgressDialog显示
pdDialog.show(); //创建线程实例
new Thread(){
public void run(){
try{
while (iCount <= 100) {
// 由线程来控制进度。
pdDialog.setProgress(iCount ++);
Thread.sleep(50);
}
pdDialog.cancel();
}
catch (InterruptedException e){
pdDialog.cancel();
}
} }.start();
}
});
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId(); //noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
} return super.onOptionsItemSelected(item);
}
}

Android 进度条对话框ProgressDialog的更多相关文章

  1. android学习笔记20——ProgressDialog进度条对话框

    ProgressDialog==>进度条对话框 ProgressDialog本身就代表一个进度条对话框,程序只需要创建ProgressDialog实例,并将其显示出来就是一个进度条对话框:开发者 ...

  2. Android——ProgressDialog 进度条对话框

    public class ProgressDialogActivity extends Activity {    private Button btn_large_pd, btn_horizonta ...

  3. Android开发 ---构建对话框Builder对象,消息提示框、列表对话框、单选提示框、多选提示框、日期/时间对话框、进度条对话框、自定义对话框、投影

    效果图: 1.activity_main.xml 描述: a.定义了一个消息提示框按钮 点击按钮弹出消息 b.定义了一个选择城市的输入框 点击按钮选择城市 c.定义了一个单选提示框按钮 点击按钮选择某 ...

  4. Android Studio常见对话框(普通对话框、单选对话框、多选对话框、进度条对话框、消息对话框、自定义对话框)

    Android Studio常见对话框(普通对话框.单选对话框.多选对话框.进度条对话框.消息对话框.自定义对话框) 1.普通对话框 2.单选对话框 3.多选对话框 4.进度条对话框 5.消息对话框 ...

  5. 【转】24. android dialog ——ProgressDialog 进度条对话框详解

    原文网址:http://blog.csdn.net/jamesliulyc/article/details/6375598 首先在onCreateDialog方法里创建一个ProgressDialog ...

  6. 【转】【Android】ProgressDialog进度条对话框的使用

    Android ProgressDialog进度条对话框的使用: 转自:http://aina-hk55hk.iteye.com/blog/679134/ <?xml version=" ...

  7. ProgressDialog进度条对话框

    (一) 1.效果图: 2.activity_main.xml <?xml version="1.0" encoding="utf-8"?> < ...

  8. ProgressWheelDialogUtil【ProgressWheel Material样式进度条对话框】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 简单封装网络请求时的加载对话框以及上传.下载文件的进度加载对话框. 效果图 代码分析 ProgressWheel : 自定义view ...

  9. AlertDialog之常见对话框(单选对话框、多选对话框、进度条对话框)

    单选对话框,顾名思义就是只能选一项(setSingleChoiceItems(Items,)) public void click(View v){ //创建对话框类 AlertDialog.Buil ...

随机推荐

  1. Three Steps to Migrate Group Policy Between Active Directory Domains or Forests Using PowerShell

    Three Steps Ahead Have you ever wished that you had three legs? Imagine how much faster you could ru ...

  2. MFC深入浅出读书笔记第三部分1

    第八章 Document-View 深入探讨(总结) 1.Document Document 在MFC 的CDocument 里头被具体化.CDocument 本身并无任何具体数据,它只是提供一个空壳 ...

  3. java包、类、方法、属性、常量命名规则

    必须用英文,不要用汉语拼音 1:包(package):用于将完成不同功能的类分门别类,放在不同的目录(包)下,包的命名规则:将公司域名反转作为包名.比如www.sohu.com 对于包名:每个字母都需 ...

  4. Mysql升级ORACLE 记录

    自增主键问题 php和mysql不写主键mysql可以自动生成主键; 想用pdo批量向mysql插入数据只能每条一个pdostarment->execute 看tp5.1的源码提供的方案是 IN ...

  5. iOS自定义控件创建原理(持续更新)

    前言 因为如果要创建各种自定义控件根据需求的不同会有很多的差别,所以我就在这里,分析一些自定义控件的创建实现方法 弹出视图 1.把要弹出的视图装在一个控制器里面,自定义转场动画 2.创建一个弹出视图, ...

  6. Mysql实战之高可用HMA

    author:JevonWei 版权声明:原创作品 主节点高可用 MHA是一款开源的MySQL的高可用程序,他为MySQL主从复制架构提供了automating master failover功能.M ...

  7. 【bzoj1041】[HAOI2008]圆上的整点 数论

    题目描述 求一个给定的圆(x^2+y^2=r^2),在圆周上有多少个点的坐标是整数. 输入 只有一个正整数n,n<=2000 000 000 输出 整点个数 样例输入 4 样例输出 4 题解 数 ...

  8. FZU Super A^B mod C(欧拉函数降幂)

    Problem 1759 Super A^B mod C Accept: 878    Submit: 2870 Time Limit: 1000 mSec    Memory Limit : 327 ...

  9. https总结

    http与https不能互相发送ajax请求,因为跨域了. http页面请求https静态资源可以,但是https请求http静态资源会提示错误. 总之,宽松的可以请求严格的,但是严格的不能请求宽松的 ...

  10. 上传相同文件名的时候不能触发change事件的解决方案

    方法一 在上传完文件之后,将<input type="file" /> 的值置为null,即可. 方法二 在上传完文件之后替换dom 方法三 在上传完文件之后刷新页面