自定义圆形的ProgressBar

 

1.自定义圆形的ProgressBar

  效果图:

  圆形ProgressBar的样式主要有以下几个,我们这里以progressBarStyleLarge为例进行样式的修改,其他的类似。

     自定义圆形的ProgressBar_第1张图片

  android:layout_width="wrap_content"  
  android:layout_height="wrap_content"
  style="?android:attr/progressBarStyleLarge"/>

  首先看一下style="?android:attr/progressBarStyleLarge"的源码,在\frameworks\base\core\res\res\values\styles.xml

复制代码
复制代码

   看到这一行@android:drawable/progress_large_white有木有,我们去看一下它的源码,在\frameworks\base\core\res\res\drawable\progress_large_white.xml

  看到这一行 android:drawable="@drawable/spinner_white_76" 我们就明白了,原来它在这里放了一张图片,进行旋转。

  接下来我定义自己的ProgressBarStyle:

  首先我们先找一张图片加入我们的项目中(如一开始的效果图片),然后在drawable下新建progress_large.xml文件

复制代码

复制代码

  在 \value\style.xml中定义myProgressBarStyleLarge

复制代码
复制代码

  最后在ProgressBar中使用我们自己定义的style,android:indeterminateDuration="700"指定图片旋转的速度,这样我们就可以根据自己的需要来定义ProgressBar的样式。

2.上面是通过一张图片填充android:indeterminateDrawable,我们也可以定义一个动画或者自定义颜色来实现,跟图片的用法一样:

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

复制代码
  
  
    
    
    
    
    
  
   
复制代码

  在我们定义的style中引入@anim/progress_large_loading

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

复制代码
  
  
    
      
    
  
复制代码

  在我们定义的style中引入@drawable/progress_large_shape

你可能感兴趣的:(移动开发)