ProgressBar

来源:互联网 发布:lte网优日常优化面试 编辑:程序博客网 时间:2024/05/16 09:21

一:   1:创建自定义progressbar圆形样式文件/res/drawable/progressbar.xml

 <?xml version="1.0"encoding="utf-8"?>

 <rotatexmlns:android="http://schemas.android.com/apk/res/android"

 

  android:pivotX="50%" android:pivotY="50%"android:fromDegrees="0"

    android:toDegrees="360">

    <shape android:shape="ring"android:innerRadiusRatio="3"

        android:thicknessRatio="8"android:useLevel="false">

        <gradient android:type="sweep" android:useLevel="false"

            android:startColor="#000000"android:centerColor="#FFFFFF"

            android:centerY="0.50" android:endColor="#1E90FF"/>

    </shape>

 </rotate>

 2:布局文件/res/layout/test.xml中调用上面的自定义样式文件

 <ProgressBar

        android:id="@+id/p_entry_progress"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerInParent="true"

        style="?android:attr/progressBarStyleLarge"

        android:indeterminateDrawable="@drawable/progressbar"

    />

 

 

style="?android:attr/progressBarStyleLarge"

进度条样式:progressBarStyleLarge  大圆

                          progressBarStyleSmall  小圆

                          没有此项            普通大小,可通过宽高设置进度条大小

 

androidProgressBarsetIndeterminate(false);

不明确(false)就是滚动条的当前值自动在最小到最大值之间来回移动,形成这样一个动画效果,这个只是告诉别人“我正在工作”,但不能提示工作进度到哪个阶段。主要是在进行一些无法确定操作时间的任务时作为提示。而“明确”(true)就是根据你的进度可以设置现在的进度值。

 

*******************************************************************************

   

二条形进度条

 

progressbar_layer_list.xml

<?xml version="1.0"encoding="UTF-8"?>

<layer-listxmlns:android="http://schemas.android.com/apk/res/android" >

   <item

       android:id="@android:id/background"

       android:drawable="@drawable/progressbar_bg">

</item>

   <item

       android:id="@android:id/progress"

       android:drawable="@drawable/progressbar_progress">

   </item>

</layer-list>

 

图片 progressbar_progress  注意此图片左右都有半个像素的透明色,这是出现格子进度的关键

          progressbar_bg

 

调用

       <ProgressBar

           android:id="@+id/ecg_init_progressbar"

           style="?android:attr/progressBarStyleHorizontal"

           android:layout_width="fill_parent"

           android:layout_height="10dp"

           android:max="100"

           android:progress="0"

           android:paddingLeft="1dp"

           android:paddingRight="1dp"

          android:progressDrawable="@drawable/progressbar_layer_list"/>      -----》关键语句

           

Activity      

        /**

          * 设置进度条进度格子形状

          */

         public void setInitProgress() {

                  

                   initProgressbar.incrementProgressBy(20);

                   setProgress(100* initProgressbar.getProgress());

 

         }

        

 

原创粉丝点击