对话框进度条吧

接着手动增减进度条的代码,就是通过一个按钮弹出进度条对话框。

新建一个按钮,id给个show

然后去主文件。

以下大部分代码可以无视,除了初始化,只用看switch中case R.id.show

package com.example.deemo;

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.view.Window;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {
    private ProgressBar progress;
    private Button add;
    private Button reduce;
    private Button reset;
    private TextView text;
    private ProgressDialog prodialog;//对话框进度条初始化
    private Button show;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //启用窗口特征,启用带进度和不带进度的
        requestWindowFeature(Window.FEATURE_PROGRESS);
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

        setContentView(R.layout.main);
        //显示两种进度条
        setProgressBarVisibility(true);
        setProgressBarIndeterminateVisibility(false);
        setProgress(9999);//直进度条进度,最大量为10000
        init();
    }
    private void init() {
        progress=(ProgressBar) findViewById(R.id.horiz);
        add=(Button) findViewById(R.id.add);
        reduce=(Button) findViewById(R.id.reduce);
        reset=(Button) findViewById(R.id.reset);
        text=(TextView) findViewById(R.id.text);
        show=(Button) findViewById(R.id.show);
        show.setOnClickListener(this);//点击事件监听器

        int frist = progress.getProgress();//getProgress()获取第一进度条
        int second=progress.getSecondaryProgress();//获取第二进度条
        int max = progress.getMax();//获取最大进度

        text.setText("第一进度百分比"+(int)(frist/(float)max*100)+"% 第二进度百分比"+(int)(second/(float)max*100)+"%");
        //进度提示

        add.setOnClickListener(this);//设置监控器
        reduce.setOnClickListener(this);
        reset.setOnClickListener(this);
    }
    @Override
    //监听事件逻辑
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch(v.getId()){
        case R.id.add:{
            progress.incrementProgressBy(10);//增加第一进度十个
            progress.incrementSecondaryProgressBy(10);//增加第二进度十个
            break;
        }
        case R.id.reduce:{
            progress.incrementProgressBy(-10);//减少第一进度十个
            progress.incrementSecondaryProgressBy(-10);//减少第二进度十个
            break;
        }
        case R.id.reset:{
            progress.setProgress(10);
            progress.setSecondaryProgress(20);
            break;
        }
        case R.id.show:{
            prodialog=new ProgressDialog(MainActivity.this);//新建ProgressDialog对象
            prodialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置显示风格
            prodialog.setTitle("测试一下");//设置标题
            prodialog.setMessage("还是测试一下");//设置对话框内容
            prodialog.setIcon(R.drawable.ic_launcher);//图标设置

            prodialog.setMax(100);//设定最大进度
            prodialog.incrementProgressBy(10);//设定初始进度
            prodialog.setIndeterminate(false);//进度条的明确显示,true是不明确

            //设定确定按钮
            prodialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    Toast.makeText(MainActivity.this, "依旧测试一下", Toast.LENGTH_SHORT).show();//显示文字信息
                }
            });
            prodialog.setCancelable(true);//是否可以通过返回按钮退出
            prodialog.show();//显示
            break;
        }
        }
        //每次点击完成动态更新
        text.setText("第一进度百分比"+(int)(progress.getProgress()/(float)progress.getMax()*100)+"% 第二进度百分比"+(int)(progress.getSecondaryProgress()/(float)progress.getMax()*100)+"%");
    };

}

不过只能显示初始进度还没有同步更新进度,留下来以后解决。

时间: 2024-10-14 12:30:53

对话框进度条吧的相关文章

Android-高级UI控件_ProgressDialog进度条对话框

代码 package com.lxt008; 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 Activity01 extends Activity

android应用开发详解(八)----------------常用组件之进度条(续)

撑不住的时候,可以对自己说声"我好累",但不要对自己说"我不行". 进度条有很多种:对话框进度条.标题栏进度条.水平进度条 一.对话框进度条 (1)覆盖Activity的onCreateDialog()方法,并在其中创建对话框 (2)调用Activity的showDialog()方法,显示进度条对话框 二.标题栏进度条 (1)调用Activity的requestWindowFeature()方法,获得进度条 (2)调用Activity的setProgressBarI

<Android>进度条

Android中的进度条有多种:对话框进度条,标题栏进度条和水平进度条 1.对话框进度条 a)         覆盖Activity的onCreateDialog()方法,并在其中创建对话框. b)        调用Activity的showDialog()方法,显示进度条对话框. public class MainActivity extends Activity { private Button myBtn; @Override public void onCreate(Bundle sa

android:异步任务asyncTask介绍及异步任务下载图片(带进度条)

为什么要用异步任务? 在android中只有在主线程才能对ui进行更新操作,而其它线程不能直接对ui进行操作 android本身是一个多线程的操作系统,我们不能把所有的操作都放在主线程中操作 ,比如一些耗时操作.如果放在主线程中 会造成阻塞 而当阻塞事件过长时 系统会抛出anr异常.所以我们要使用异步任务.android为我们提供了一个封装好的组件asynctask. AsyncTask可以在子线程中更新ui,封装简化了异步操作.适用于简单的异步处理.如果多个后台任务时就要使用Handler了

Android -- ProgressBar(进度条的使用)

我们在开发程序是经常会需要软件全屏显示.自定义标题(使用按钮等控件)和其他的需求,今天这一讲就是如何控制Android应用程序的窗体显示. requestWindowFeature可以设置的值有:(具体参考 点击链接查看效果)    1.DEFAULT_FEATURES:系统默认状态,一般不需要指定        // 2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定        // 3.FEATURE_CUSTOM_TITLE:自定义标

Android进度条使用详解(一)

进度条是UI界面中一种非常实用的组件,通常用于向用户像是某个耗时操作完成的百分比.进度条可动态地显示进度,因此避免长时间地执行某个操作时,让用户感觉程序失去了响应,从而更好地提高用户界面的友好性.ProgressBar本身代表着进度条组件,其子类还包括SeekBar(拖动条)和RatingBar(星级评分条). 一.ProgressBar使用详解 1.环形进度条使用方法 (1)进度条样式 (2)代码实现 <ProgressBar android:id="@+id/progressBar&q

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

原文网址:http://blog.csdn.net/jamesliulyc/article/details/6375598 首先在onCreateDialog方法里创建一个ProgressDialog,如下: [java] view plaincopy //this表示该对话框是针对当前Activity的 progressDialog = new ProgressDialog(this); //设置最大值为100 progressDialog.setMax(100); //设置进度条风格STYL

Android百日程序:进度条对话框实现

显示由Activity管理的dialog. 这种dialog有多种多样,其中比较常见的是loading的时候,显示的一个loading进度条. Android显示这样的进度条还是非常方便的,因为有现成的模块可以调用. 首先看看本程序的效果吧: 1 主界面: 2 点击这个按钮之后,显示: 进度条到了100的时候就会自动关闭,当然这里是模拟下载,真实的下载算法还需要继续完善,不过也是很简单的算法了,不算是难点. 点击Cancel或者OK按钮也可以调用函数,进行有需要的操作,这里直接显示一个Toast

进度条对话框ProgressDialog

进度条对话框ProgressDialog经常用于不能马上完成的操作,为了避免用户莫名其妙的等待,给用户一个提示. 本例中我们演示了两种进度条:条形进度条和圆形进度条. 一.设计界面 1.打开"res/layout/activity_main.xml"文件. 从工具栏向activity拖出2个按钮Button. 2.打开activity_main.xml文件. 代码如下: <LinearLayout xmlns:android="http://schemas.androi