Progressbar的使用

来源:互联网 发布:淘宝无响应是怎么回事 编辑:程序博客网 时间:2024/06/03 22:01

        android中使用水平Progressbar时,需要设置Progressbar的样式为水平。

<ProgressBar android:id="@+id/progress"        android:layout_width="match_parent" android:layout_height="wrap_content"        style="@style/progress" />
        该style在文件中的定义:需要特别制定parent为水平进度条,这里关键的地方在于progressDrawable,这里 引用了drawable文件夹中的文件,该文件中定义了progress的背景色和进度条颜色:

 <style name="progress" parent="android:Widget.ProgressBar.Horizontal">        <item name="android:progressDrawable">@drawable/progress_bg</item>        <item name="android:indeterminateOnly">false</item>        <item name="android:minHeight">20dp</item>        <item name="android:maxHeight">20dp</item>    </style>
         定义方式如下:
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">   <item android:id="@android:id/background">      <shape>          <corners android:radius="5dp"/>          <solid android:color="@color/gray" />      </shape>   </item>    <item android:id="@android:id/progress">        <clip> //这里必须写上,否则progress会充满整个进度条            <shape>                <corners android:radius="5dp" />                <solid android:color="@color/red"/>            </shape>        </clip>    </item></layer-list>
          在代码中的使用:

 progressBar= (ProgressBar) findViewById(R.id.progress);        progressBar.post(new Runnable() {            @Override            public void run() {                if(progressBar.getProgress()<100)                {                  progressBar.setProgress(progressBar.getProgress()+10);                    progressBar.post(this);                }            }        });




0 0