
进度条是UI界面中非常有用的组件,通常用于向用户显示完成的耗时操作的百分比. 进度条可以动态显示进度android进度条的使用,因此当用户长时间不执行某些操作时,用户会感觉程序没有响应,从而提高了用户界面的友好性. ProgressBar本身代表进度条组件android进度条的使用,其子类还包括SeekBar(拖动条)和RatingBar(星级评分条).
I. ProgressBar的详细用法
1. 如何使用圆形进度条
(1)进度栏样式
摘要: 我们可以通过设置ProgressBar的style属性来实现不同大小的圆形进度条. ProgressBar中常用的XML属性如下:
(1)android: max: 设置进度条的最大值;
(2)android: progress: 设置进度条的完成进度值;

(3)android: progressDrawable: 设置与进度条的轨迹相对应的Drawable对象;
(4)android: 不确定: 此属性设置为true,进度条显示不正确;
(5)android: indeteminateDrawable: 设置一个Drawable对象以绘制进度条而不显示进度;
(6)android: indeteminateDuration: 设置进度显示不准确的持续时间
(7)样式属性: 设置进度条的样式,支持以下属性
◇@ android: 样式/ Widget.ProgressBar.Horizontal: 水平进度条
◇@ android: style / Widget.ProgressBar.Inverse: 普通大小进度条
◇@ android: 样式/ Widget.ProgressBar.Large: 大型圆形进度条
◇@ android: 样式/ Widget.ProgressBar.Large.Inverse: 大型圆形进度条

◇@ android: 样式/ Widget.ProgressBar.Small: 圆形小进度条
◇@ android: 样式/ Widget.ProgressBar.Small.Inverse: 小圆形进度条
2. 如何使用精度栏显示进度
(1)进度栏样式
>业务逻辑代码: 模拟进度条的进度显示
publicclassMainActivityextendsActionBarActivity {privateint [] data = newint [100]; inthasData = 0; intstatus = 0; ProgressBarbar,bar1; //创建一个HandlerHandlerhandler = newHandler()(publicvoidhandleMessage(android.os.Messagemsg)){if(msg.what == 0x111){bar.setProgress(status); bar1.setProgress(状态);});}; @ OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState); setContentView(R.layout.main); bar =(ProgressBar)findViewById(R.id.progressBar); bar1 =(ProgressBar)findViewById(R.id.progressBar1); //启动线程以执行任务newThread(newRunnable()(publicvoidrun()(while(status <100){status = doWork(); //获取消耗操作处理程序的完成百分比.sendEmptyMessage(0x111); / / 发送一个消息}))). Start();} //模拟一个耗时的任务数据[hasData ++] =(int)(Math.random()* 100);尝试{Thread.sleep(100);}捕获(InterruptedExceptione){e.printStackTrace();} returnhasData;}}
>布局:

Mybar.xml用于设置进度条的轨道背景,并定义轨道上已完成零件的样式. 代码如下:
<? xmlversion =“ 1.0” encoding =“ utf-8”?>
(1)进度栏样式
finalProgressDialogmypDialog = newProgressDialog(MainActivity.this); //实例化进度条对话框mypDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); //设置进度条样式mypDialog.setTitle(“ Progress Bar Dialog Demo”); // /设置进度条标题mypDialog.setMessage(“任务正在进行中,请稍候”); //设置提示消息mypDialog.setIcon(R.drawable.android); //设置图标mypDialog.setIndeterminate(true); //设置是否以精度mypDialog.setCancelable(false);显示进度. //设置是否取消触摸屏mypDialog.setButton(DialogInterface.BUTTON_POSITIVE,“取消执行”,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,int){/设置按钮mypDialog .dismiss();}}); mypDialog.show();
4. 在AlertDialog对话框中添加进度条
(1)进度栏样式
(2)代码实现

myup =(按钮)myLayout.findViewById(R.id.myView_BT_Up); (myProgressBar.incrementProgressBy(5);)mydown =(按钮)myLayout.findViewById(R.id.myView_BT_Down); (myProgressBar.incrementProgressBy(-5);)myprogress =(ProgressBar)myLayout.findViewById(R.id.myView_ProgressBar); AlertDialogalertDialog = newAlertDialog(this); LayoutInflaterlayoutInflater =(LayoutInflater)getSystemService(this.LAYOUT_INFLATER_SERVICE); LinearLayoutmyLayout =(LinearLayout)layout layout.myview,null); myProgressBar.setProgress(Tag); //进度条进度的初始值为0alertDialog.setTitle(“长进度条”); alertDialog.setIcon(R.drawable.Android); alertDialog.setMessage(“测试视图添加进度条”); alertDialog.setView(myLayout); alertDialog.setPositiveButton(“ OK”,newDialogInterface.OnClickListener(){publicvoidonClick(DialogInterfacedialog,intwhich){Tag = myProgressBar.getProgress(); //获取当前进度条的值)))))); AlterD.show();
R.layout.myview.xml的代码如下:
<? xmlversion =“ 1.0”编码=“ utf-8”?>
第二,在标题上显示进度条的方法
(1)首先,调用Activity的requestWindowFeature()方法. 此方法基于传入的参数启用特定的窗口功能. 例如,传入Window.FEATURE_INDETERMINATE_PROGRESS将显示进度条,而窗口标题上没有进度条;例如,传入Window. FEATURE_PROGRESS显示带有进度的进度栏.
(2)然后,调用Activity的SetProgressBarVisibility(布尔值)或setProgressBarIndeterminateVisibility(布尔值)来控制进度条的显示和隐藏.
protectedvoidonCreate(BundlesavedInstanceState){//设置窗口功能: 启动进度条requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); //设置窗口功能: 开始显示没有进度的进度条//requestWindowFeature(Window.FEATURE_PROGRESS); super.onCreate(savedInstanceState); setContentView(R.layout.main); Buttonbtn1 =(按钮)findViewById(R.id.btn1); btn1.setOnClickListener(newOnClickListener()(publicvoidonClick(Viewv){// setProgressBarVisibility(true); setProgressBarIndeterminateVisibility(true);}});}}
Android进度栏的详细用法(1)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-161211-1.html
应该说靠本本分分挣钱
这个世界超级军事强国
能怎么样