ProgressBar 控件


ProgressBar就是所谓的进度条,进度条在Android中的样式也分为好几种,有条状的,也有圆形转动的。

首先要在布局文件中,定义和设置ProgressBar的样式。

代码片段如下:

  
  1. <ProgressBar

  2. android:id="@+id/bar1"//设置ProgressBar的id

  3. android:layout_width="200dp"设置ProgressBar的长度

  4. android:layout_height="wrap_content"

  5. style="?android:attr/progressBarStyleHorizontal"//设置ProgressBar的类型为水平条状

  6. android:max="100"//设置ProgressBar总共有多少格

  7. android:visibility="gone"//设置ProgressBar为默认不可见

  8. />

  9. <ProgressBar

  10. android:id="@+id/bar2"

  11. android:layout_width="wrap_content"

  12. android:layout_height="wrap_content"

  13. style="?android:attr/ progressBarStyleSmall "//设置ProgressBar的类型为小圆圈

  14. android:visibility="gone"

  15. />

  16. <ProgressBar

  17. android:id="@+id/bar3"

  18. android:layout_width="wrap_content"

  19. android:layout_height="wrap_content"

  20. style="?android:attr/progressBarStyle"//设置ProgressBar的类型为中等圆圈

  21. android:visibility="gone"

  22. />

  23. <ProgressBar

  24. android:id="@+id/bar4"

  25. android:layout_width="wrap_content"

  26. android:layout_height="wrap_content"

  27. style="?android:attr/progressBarStyleLargeInverse"//设置ProgressBar的类型为反转的大圆圈

  28. android:visibility="gone"

  29. />


上面的代码定义了四个ProgressBar,其中第一个为条状的进度条,可以设置id,设置进度条的长度,这里的style属性是设置进度条的样式的,在android.R.attr 包中定义了各种样式的参数,有progressBarStyleHorizontalprogressBarStyleSmallprogressBarStyleprogressBarStyleLarge,也有在转圈的样式参数后面加上Inverse,即progressBarStyleSmallInverseprogressBarStyleInverseprogressBarStyleLargeInverse,就可以得到反转的转圈进度条了。


接着在Activity中得到进度条的对象,对于一个ProgressBar对象,我们可以有很多操作,我们可以设置背景色,设置可见与否,设置长宽等许多操作。对于一个条状的进度条,可以这时候设置最大格数,也可以理解为进度条的最大值,默认是100。同时,条状进度条不仅有主进度,还有辅进度条,也可以叫做第二进度条。一般辅进度比主进度跑得快,且主进度条的颜色比辅进度条深,那样可以表示预加载等信息,比较形象。

代码片段如下:


  
  1. private ProgressBar bar1 = (ProgressBar)findViewById(R.id.bar1);

  2. private ProgressBar bar2 = (ProgressBar)findViewById(R.id.bar2);

  3. private ProgressBar bar3 = (ProgressBar)findViewById(R.id.bar3);

  4. private ProgressBar bar4 = (ProgressBar)findViewById(R.id.bar4);

  5. start = (Button)findViewById(R.id.start);

  6. start.setOnClickListener(new Button.OnClickListener() {

  7. @Override

  8. publicvoid onClick(View arg0) {

  9. // TODO Auto-generated method stub

  10. if(i==0){

  11. bar1.setVisibility(View.VISIBLE); //设置可见

  12. bar2.setVisibility(View.VISIBLE);

  13. bar3.setVisibility(View.VISIBLE);

  14. bar4.setVisibility(View.VISIBLE);

  15. }elseif(i<100){

  16. bar1.setProgress(i);

  17. bar1.setSecondaryProgress(i+10); //设置辅进度条

  18. bar2.setProgress(i);

  19. bar3.setProgress(i);

  20. bar4.setProgress(i);

  21. }else{

  22. bar1.setVisibility(View.GONE);

  23. bar2.setVisibility(View.GONE);

  24. bar3.setVisibility(View.GONE);

  25. bar4.setVisibility(View.GONE);

  26. }

  27. i+=10;

  28. }

  29. });

运行效果:





上面的例子中,有一个start按钮,按钮上绑定了一个事件,每次点击start按钮,进度条就会向前走一步。

当然,现实应用肯定会结合线程以及之后要学的Handler来进行自动的改变进度,而不会傻傻的点击使进度条前进,这里的例子只是对ProgressBar的使用做一些解释。

以上内容和之前的几篇博客是一些Android的基础控件,之后就不讲基础控件了,会讲一些Android的特性,因为高阶的控件需要一些Android特性的支持。而且,单纯的基础控件作用并不大,必须结合一些Android特性,才能灵活的做出好的应用。控件的使用方式可以举一反三,可以参考androidapi文档来自己学习练习。

附件是示例代码,仅供参考。

如果我的文章给与了你帮助,就不妨请我喝杯咖啡吧,点击->


更多相关文章

  1. Android(安卓)利用OnDraw实现自定义View
  2. Android中的表格布局详解
  3. Android中给系统控件添加配置的自定义属性
  4. Android(安卓)Studio中Button等控件的Text属性英文默认大写的解
  5. Android(安卓)动态获取控件的宽高,并动态设置控件宽高
  6. Android的SurfaceView使用
  7. Android万能下拉刷新,上拉加载。支持自定义样式!!!
  8. Android(安卓)TextView实现逐字动画
  9. Android最火的框架系列(三)JiaoZiVideoPlayer

随机推荐

  1. 三面滴滴失败,总结了Java面试题,有几个题还
  2. SQL基础知识V2——索引
  3. 什么仇什么怨?一程序员锁死服务器致公司损
  4. 外链h5短信浏览器跳转微信关注公众号和小
  5. SQL基础知识V2——约束(实例)
  6. 3-10(栈的习题和队列的实现)
  7. SQL基础知识V2——约束(语法)
  8. 线性表之链式存储(一)
  9. SQL基础知识V2——AS别名
  10. PG数据库管理_备份工具的使用