ProgressBar的使用

来源:互联网 发布:java基础是什么 编辑:程序博客网 时间:2024/06/16 14:42
package com.example.progressbar;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 addition;private Button reduce;private Button reset;private TextView textView;private ProgressDialog progressDialog;private Button show;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);/* * 标题栏显示进度条 启用窗口特征,启用带进度和不带进度的进度条 * requestWindowFeature(Window.FEATURE_PROGRESS); * requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); * setContentView(R.layout.activity_main); 显示两种进度条 * setProgressBarIndeterminateVisibility(true); MAX=10000 */init();}private void init() {progress = (ProgressBar) this.findViewById(R.id.horiz);addition = (Button) this.findViewById(R.id.addition);reduce = (Button) this.findViewById(R.id.reduce);reset = (Button) this.findViewById(R.id.reset);textView = (TextView) this.findViewById(R.id.textView);// getProgress()获取第一进度条进度int first = progress.getProgress();// getSecondProgress()获取第二进度条进度int second = progress.getSecondaryProgress();// getMax()获取进度条最大进度int max = progress.getMax();//TextView显示进度条textView.setText("第一进度百分比" + (int) first / (float) max * 100 + "%"+ "第二进度百分比" + (int) second / (float) max * 100 + "%");addition.setOnClickListener(this);reduce.setOnClickListener(this);reset.setOnClickListener(this);// 对话框显示show = (Button) this.findViewById(R.id.showdialog);show.setOnClickListener(this);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.addition:// 增加第一进度和第二进度10刻度progress.incrementProgressBy(10);progress.incrementSecondaryProgressBy(10);break;case R.id.reduce:// 减少第一进度和第二进度10刻度progress.incrementProgressBy(-10);progress.incrementSecondaryProgressBy(-10);break;case R.id.reset:progress.setProgress(50);progress.setSecondaryProgress(80);break;case R.id.showdialog:/* * 设置ProgressDialog信息 */// 1.新建ProgressDialog对象progressDialog = new ProgressDialog(MainActivity.this);// 2.设置显示风格progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 3.设置标题progressDialog.setTitle("进度条对话框");// 4.设置对话框文字信息progressDialog.setMessage("这是一个进度条对话框");// 5.设置图标progressDialog.setIcon(R.drawable.ic_launcher);/* * 设置关于ProgressBar的信息 */// 设置最大进度progressDialog.setMax(100);// 设置初始化进度progressDialog.incrementProgressBy(50);// 设置进度条是否明确显示信息progressDialog.setIndeterminate(false);/* * 设置一个确定按钮 */// 确定按钮progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which){// TODO Auto-generated method stubToast.makeText(MainActivity.this, "...",Toast.LENGTH_SHORT).show();}});// 是否可以通过返回按钮退出对话框progressDialog.setCancelable(true);// 显示ProgressDialogprogressDialog.show();}textView.setText("第一进度百分比" + (int) progress.getProgress()/ (float) progress.getMax() * 100 + "%" + "第二进度百分比"+ (int) progress.getSecondaryProgress()/ (float) progress.getMax() * 100 + "%");}}

0 0