ProgressDialog的使用-------------范例(学习笔记)

来源:互联网 发布:网络机柜的尺寸 编辑:程序博客网 时间:2024/04/28 16:51

-------------------------------XML------------------------

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="horizontal"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.example.dialog.MainActivity">    <Button        android:id="@+id/button_cicle"        android:text="圆形进度条"        android:layout_weight="1"        android:layout_width="wrap_content"        android:layout_height="wrap_content" />    <Button        android:id="@+id/button_long"        android:text="长形进度条"        android:layout_weight="1"        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></LinearLayout>


----------------------------------------MainActivity--------------------------------------

package com.example.dialog;import android.app.Dialog;import android.app.ProgressDialog;import android.content.DialogInterface;import android.support.v7.app.AlertDialog;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;public class MainActivity extends AppCompatActivity {    Button buttoncicle;    Button buttonlong;    ProgressDialog myDialog;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        buttoncicle=(Button)this.findViewById(R.id.button_cicle);        buttonlong=(Button)this.findViewById(R.id.button_long);        buttoncicle.setOnClickListener(new View.OnClickListener() { //圆形进度条监听            @Override            public void onClick(View view) {                myDialog=new ProgressDialog(MainActivity.this);     //创建ProgressDialog对象                myDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);    //设置进度条形状为圆形                myDialog.setTitle("提示");    //设置进度条标题信息                myDialog.setMessage("数据加载中,请稍后...");    //设置进度条的提示信息                myDialog.setIcon(R.mipmap.ic_launcher);     //设置进度条的图标                myDialog.setCancelable(true);       //设置进度条是否可通过按返回键取消                myDialog.setIndeterminate(false);       //设置进度条是否不明确                myDialog.setButton("确定", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialogInterface, int i) {                        myDialog.dismiss(); //撤销进度条                    }                });                myDialog.show();    //显示进度条            }        });        buttonlong.setOnClickListener(new View.OnClickListener() {            int count=0;            @Override            public void onClick(View view) {                myDialog=new ProgressDialog(MainActivity.this);                myDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);     //设置进度条形状为长条形                myDialog.setTitle("提示");                myDialog.setMessage("数据加载中,请稍后...");                myDialog.setIndeterminate(false);   //设置进度条是否为不明确                myDialog.setCancelable(true);                myDialog.setIcon(R.mipmap.ic_launcher);                myDialog.setMax(200);   //设置进度条的最大值为200                myDialog.setSecondaryProgress(100); //设置第二进度条的值为100                myDialog.setButton("取消", new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialogInterface, int i) {                        myDialog.cancel();                    }                });                myDialog.show();    //显示进度条                new Thread(){   //定义线程,动态改变当前进度条的值                    public void run(){                        while (count<=200){                            myDialog.setProgress(count++);  //设置当前进度条的值                            try{                                Thread.sleep(100);  //暂停0.1秒                            }catch (InterruptedException e){                                e.printStackTrace();                            }                        }                    }                }.start();            }        });    }}

0 0
原创粉丝点击