3.4 复杂进度对话框

这一小节我们来给大家讲讲复杂进度对话框的用法,先看截图吧

大家一看就知道是一个带有下载进度的对话框,那么了解这个对话框常用用法如下

  • 初始化进度条
  • 设置图标、标题
  • 设置进度条风格
  • 设置进度条起始值
  • 设置进度条每次增长值

这里我们就把ProgressDialog常用的代码方法也列举出来供大家参考

  • setIcon ,设置进度对话框的图标
  • setProgress, 设置进度对话框的起始值
  • setTitle, 设置进度对话框的标题
  • setProgressStyle, 设置进度对话框的样式
  • show, 显示对话框
  • incrementProgressBy,设置进度对话框的增长值
  • setIndeterminate, 不显示进度值
  • setMessage, 设置进度对话框中下载内容信息
  • OnCancelListener,监听进度对话框取消事件
  • OnDismissListener,监听进度对话框消失事件

下面就是代码的具体实现

<RelativeLayout 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: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=".MainActivity" >

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"
        android:onClick="show"></Button>

</RelativeLayout>
package com.gxa;

import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.DialogInterface.OnDismissListener;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity implements OnCancelListener, OnDismissListener {
    private ProgressDialog dialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    public void show(View view) {
        onCreateProgressDialog();
        dialog.setOnCancelListener(this);
        dialog.setOnDismissListener(this);
    }

    public void onCreateProgressDialog() {
        dialog = new ProgressDialog(this);
        dialog.setIcon(R.drawable.ic_launcher);
        dialog.setTitle("下载...");
        dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        dialog.setProgress(0);
        dialog.show();
        new Thread(new Runnable() {

            @Override
            public void run() {
                for (int i = 0; i < 25; i++) {
                    try {
                        Thread.sleep(1000);
                        dialog.incrementProgressBy((int) 100 / 25);
                    } catch (InterruptedException e) {
                        dialog.cancel();
                    }
                }
                dialog.dismiss();
            }

        }).start();
    }

    @Override
    public void onCancel(DialogInterface dialog) {
        Toast.makeText(this, "下载取消", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onDismiss(DialogInterface dialog) {
        Toast.makeText(this, "下载完成", Toast.LENGTH_SHORT).show();
    }

}

文字内容来自:国信安刘阳

时间: 2024-10-27 08:55:43

3.4 复杂进度对话框的相关文章

进度对话框

一.进度对话框 ProgressDialog 1.用法 1-new progressDialog(Context) 2-setTitle (标题) 3-setMessage (信息) 4-show() 显示 5-setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 设置样式为水平进度 6-支持跨线程访问 2.多线程 1-负责执行耗时较长的业务代码,执行完之后在关闭进度对话框 2-用法 1°继承 1>继承Thread,重写run(),调用start(

Android——进度对话框

java类代码: 1 //普通进度对话框 2 public void bt8_onClick(View v) 3 { 4 final ProgressDialog progressDialog = new ProgressDialog(this); 5 progressDialog.setMessage("请等待……"); 6 progressDialog.setTitle("进度对话框"); 7 progressDialog.setCancelable(false

10.Android之ProgressDialog进度对话框学习

APP应用中经常会下载某些东西,这里面有涉及到进度对话框,今天来学习下. 首先,布局里放进两个按钮,点击一个显示条形进度条,另一个显示圆形进度条.代码如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout 3 android:id="@+id/LinearLayout01" 4 android:layout_width="match_parent&quo

View(视图)——对话框之进度对话框

一.进度对话框  ProgressDialog 1.用法 1-new  progressDialog(Context) 2-setTitle (标题) 3-setMessage (信息) 4-show() 显示 5-setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);  设置样式为水平进度 6-支持跨线程访问 2.多线程 1-负责执行耗时较长的业务代码,执行完之后在关闭进度对话框 2-用法 1°继承 1>继承Thread,重写run(),调用sta

3.3 进度对话框

进度对话框是另一个常见的用户界面功能,它在应用程序执行长时间运行的任务时显示一种等待状态.显示“进度对话框”很有帮助,这样用户可以知道操作正在进行中.实现进度对话框采用ProgressDialog组件完成 ProgressDialog组件在初始化的时候直接调用ProgressDialog.show(...)就能完成包括进度对话框加载效果 布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/androi

Android学习笔记(九)——更复杂的进度对话框

显示操作进度的对话框 1.使用上一篇创建的同一项目,在activity_main.xml文件中添加一个Button: <Button android:id="@+id/btn_dialog3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="onClick3" android:text=&qu

View(视图)——进度对话框

一.进度对话框  ProgressDialog 1.用法 1-new  progressDialog(Context) 2-setTitle (标题) 3-setMessage (信息) 4-show() 显示 5-setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);  设置样式为水平进度 6-支持跨线程访问 2.多线程 1-负责执行耗时较长的业务代码,执行完之后在关闭进度对话框 2-用法 1°继承 1>继承Thread,重写run(),调用sta

Android开发系列(二十七):使用ProgressDialog创建进度对话框

进度对话框在平常的应用中很常见,比如下载的时候,打开页面的时候.转移文件等等.有环形的.有长条形的.基本就这两种 创建进度对话框的两种方式: 1.创建ProgressDialog实例,然后调用ProgressDialog提供的静态show()方法显示实例即可 2.创建ProgressDialog实例,然后调用方法对进度条进行设置,然后显示出来. 长条形的进度条还分为两种,第一种是显示进度,第二种是不显示进度. 在接下来的例子中,我们会看到三种:环形进度条.显示进度的长条形进度条.不显示进度的长条

Android学习笔记(八)——显示运行进度对话框

显示运行进度对话框 我们经常有这种经历:运行某一应用程序时.须要等待一会,这时会显示一个进度(Please Wait)对话框,让用户知道操作正在进行. 我们继续在上一篇中的程序中加入代码~ 1.在上一篇的activity_main.xml文件里加入一个Button,加入后的代码例如以下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/