自定义ProgressBar(圆形)

方式一:通过一张图片填充android:indeterminateDrawable

drawable:

progressbar_circle_1.xml

  1. "1.0" encoding="utf-8"?>  
  2. "http://schemas.android.com/apk/res/android"  
  3.     android:drawable="@drawable/loading"  
  4.     android:fromDegrees="0"  
  5.     android:pivotX="50%"  
  6.     android:pivotY="50%"  
  7.     android:toDegrees="360" >  
  8.   
  9.  
Style:这里定义ProgressBar的大小

mProgress_circle

  1. "mProgress_circle">  
  2.     "android:indeterminateDrawable">@drawable/progressbar_circle_1  
  3.     "android:minWidth">25dp  
  4.     "android:minHeight">25dp  
  5.     "android:maxWidth">60dp  
  6.     "android:maxHeight">60dp  
  7.  
组件中引用

  1.     android:id="@+id/progressBar2"  
  2.     style="@style/mProgress_circle"  
  3.     android:layout_gravity="center_vertical"  
  4.     android:layout_width="match_parent"  
  5.     android:indeterminateDuration="1200"  
  6.     android:layout_height="wrap_content" />  

方法二:自定义

定义动画 progress_circle_loading,xml

  1. "1.0" encoding="UTF-8"?>    
  2. "false"    
  3.   xmlns:android="http://schemas.android.com/apk/res/android">    
  4.   "100" android:drawable="@drawable/loading_1" />    
  5.   "100" android:drawable="@drawable/loading_2" />    
  6.   "100" android:drawable="@drawable/loading_3" />    
  7.   "100" android:drawable="@drawable/loading_4" />    
  8.   "100" android:drawable="@drawable/loading_5" />    
  9.   "100" android:drawable="@drawable/loading_6" />  
  10.  

style中引入indeterminateDrawable

  1. <pre name="code" class="java"><item name="android:indeterminateDrawable">@drawable/progress_circle_loadingitem>  
定义shape颜色 progress_circle_shape.xml

  1. "1.0" encoding="utf-8"?>    
  2. "http://schemas.android.com/apk/res/android"    
  3.   android:fromDegrees="0"    
  4.   android:pivotX="50%"    
  5.   android:pivotY="50%"    
  6.   android:toDegrees="360" >    
  7.   
  8.     android:innerRadiusRatio="3"    
  9.     android:shape="ring"    
  10.     android:thicknessRatio="8"    
  11.     android:useLevel="false" >    
  12.     
  13.       android:centerColor="#FFFFFF"    
  14.       android:centerY="0.50"    
  15.       android:endColor="#1E90FF"    
  16.       android:startColor="#000000"    
  17.       android:type="sweep"    
  18.       android:useLevel="false" />    
  19.       
  20.  
style中引入indeterminateDrawable

"android:indeterminateDrawable">@drawable/progress_circle_shape 

你可能感兴趣的:(自定义ProgressBar(圆形))