0
点赞
收藏
分享

微信扫一扫

Android之三种实现自定义ProgressBar的方式


一、通过动画实现


定义res/anim/loading.xml如下:


[html]  view plain  copy




  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <animation-list android:oneshot="false"  
  3. xmlns:android="http://schemas.android.com/apk/res/android">  
  4. <item android:duration="150" android:drawable="@drawable/loading_01" />  
  5. <item android:duration="150" android:drawable="@drawable/loading_02" />  
  6. <item android:duration="150" android:drawable="@drawable/loading_03" />  
  7. <item android:duration="150" android:drawable="@drawable/loading_04" />  
  8. <item android:duration="150" android:drawable="@drawable/loading_05" />  
  9. <item android:duration="150" android:drawable="@drawable/loading_06" />  
  10. <item android:duration="150" android:drawable="@drawable/loading_07" />  
  11. </animation-list>   


二、通过自定义颜色实现


定义res/drawable/progress_small.xml如下:


[html]  view plain  copy




  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <rotate xmlns:android="http://schemas.android.com/apk/res/android"  
  3. android:fromDegrees="0"  
  4. android:pivotX="50%"  
  5. android:pivotY="50%"  
  6. android:toDegrees="360" >  
  7. <shape  
  8. android:innerRadiusRatio="3"  
  9. android:shape="ring"  
  10. android:thicknessRatio="8"  
  11. android:useLevel="false" >  
  12. <gradient  
  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. </shape>  
  20. </rotate>  


三、使用一张图片进行自定义
定义res/drawable/progress_small.xml如下:


[html]  view plain  copy




  1. <ProgressBar  
  2. android:layout_width="wrap_content"  
  3. android:layout_height="wrap_content"  
  4. android:indeterminateDrawable="@drawable/progress_small"/>  



使用方法都一样, 如下:


[html]  view plain  copy




  1. <ProgressBar  
  2. android:layout_width="wrap_content"  
  3. android:layout_height="wrap_content"  
  4. android:indeterminateDrawable="@drawable/progress_small"/>  


也可以根据需要通过设置style来设置其大小! 一般只有使用默认的ProgrressBar的时候采用。对于上述三种自定义的方式,建议修改直接修改图片大小,或者shape;


[html]  view plain  copy




  1. <ProgressBar  
  2. android:layout_width="wrap_content"  
  3. android:layout_height="wrap_content"  
  4. android:layout_centerInParent="true"  
  5. style="?android:attr/progressBarStyleSmall"  
  6. android:indeterminateDrawable="@drawable/progress_small"/>  


设置成progressBarStyleSmall之后,图标变小


Android之三种实现自定义ProgressBar的方式_android

   

Android之三种实现自定义ProgressBar的方式_html_02

举报

相关推荐

0 条评论