zoukankan      html  css  js  c++  java
  • Android学习笔记24-进度条ProgressBar的使用

    当一个应用程序在后台执行时,如果前台界面没有任何信息,用户就会不知道应用程序是否在执行、执行进度如何等,这时使用进度条ProgressBar来提示用户后台应用程序的执行情况就显得很有必要了。

      Android系统提供了两大类进度条式样,长形进度条(progressBarStyleHorizontal)和圆形进度条。其中,圆形进度条又分为大型(progressBarStyleLarge)、中型(默认)、小型(progressBarStyleSmall)三种。具体的进度条式样如图1所示。

    图1 进度条式样

    1.进度条的xml属性

      如何来指定进度条以何种式样显示呢?这可以通过xml属性中的style属性来设置,具体实现方法如下:

    1 <ProgressBar
    2         android:layout_width="wrap_content"
    3         android:layout_height="wrap_content"
    4         style="@android:style/Widget.ProgressBar.Small.Inverse"    ></ProgressBar>

      通过以上代码,就可以实现一个小型圆形进度条的显示了。通过给style属性设置以下的属性值可以分别实现中型、大型以及水平进度条的显示。

    style="@android:style/Widget.ProgressBar.Small"        //小型圆形进度条

    style="@android:style/Widget.ProgressBar.Small.Inverse"   //小型圆形进度条

    style="@android:style/Widget.ProgressBar.Inverse"        //中型圆形进度条

    style="@android:style/Widget.ProgressBar.Large"       //大型圆形进度条

    style="@android:style/Widget.ProgressBar.Large.Inverse"  //大型圆形进度条

    style="@android:style/Widget.ProgressBar.Horizontal"     //水平进度条

      其中,带有Inverse参数和不带有Inverse参数的style属性区别在于:当进度条控件所在的界面背景颜色为白色时,需要使用带有Inverse参数的style属性,否则进度条将看不见。

      进度条的xml属性如图2所示。

    图2 进度条的xml属性

      其中,android:max[int]用于设置水平进度条的最大刻度;android:progress[int]用于设置进度条的当前进度值;android:secondaryProgress[int]用于设置进度条的第二进度值(用于实现类似视频缓冲等)。

    2.标题栏进度显示

      进度条的用处很多,比如用于程序装载资源时,可以提示用户稍等,这一类进度条只是代表应用程序中某一部分程序的执行情况,那么整个应用程序的执行情况该如何表示呢?这可以通过让应用程序标题栏来显示一个进度条来实现。

      要让标题栏显示进度,只需要对窗口的显示风格进行如下设置即可:

    复制代码
     1   /*
     2   * Function   :    onCreate
     3   * Author     :    博客园-依旧淡然
     4   */
     5   public void onCreate(Bundle savedInstanceState) {
     6       super.onCreate(savedInstanceState);
     7       requestWindowFeature(Window.FEATURE_PROGRESS);          //进度指示器功能
     8       requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);  //不确定的进度
     9       setContentView(R.layout.activity_main);       //加载布局文件
    10       setProgressBarIndeterminateVisibility(true);    //标题栏显示不确定的进度的进度条
    11   }
    复制代码

      运行后的效果如图3所示。

    图3 标题栏进度条

      可以看出,标题栏上带有一个灰色的进度条,右边还有一个小型圆形进度条。除此之外,标题栏的式样还有其他一些,具体可以参看博文:requestWindowFeature使用详解(http://zhanhao.iteye.com/blog/1174914)。

  • 相关阅读:
    MySQL复制延时排查
    SQL优化之【类型转换】
    Twemproxy 介绍与使用
    Redis Cluster 3.0搭建与使用
    unauthenticated user reading from net
    XtraBackup之踩过的坑
    Redis学习之实现优先级消息队列
    如何保证接口的幂等性
    Redis缓存网页及数据行
    Rabbitmq 消费者的推模式与拉模式(go语言版本)
  • 原文地址:https://www.cnblogs.com/britalient/p/3173214.html
Copyright © 2011-2022 走看看