Android常用的进度条有ProgressBar,SeekBar和RatingBar。ProgressBar继承于View类,直接子类有AbsSeekBar和ContentLoadingProgressBar,而SeekBar和RatingBar又是AbsSeekBar的子类,因此ProgressBar是RatingBar,SeekBar的父类。
一、ProgressBar
Android系统自带的ProgressBar有两种样式:水平(Horizontal)和圆,其中圆的又包括Large,Normal,Small等
下面我以 水平和Small圆为例,深入了解其实现的方式,按照系统的实现方式就可以很easy的实现自定义的进度条!!有木有点小小的鸡冻。。lets go!。
1.水平样式的ProgressBar
效果图
(1)ProgressBar的样式(style)设定其实有两种方式 :
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"或者style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:layout_gravity="center_horizontal"
android:max="100"
android:progress="20"
android:indeterminate="false"/>
关于?android:attr/和@android:style的对应关系如下
- style=”?android:attr/progressBarStyleHorizontal”
- style=”?android:attr/progressBarStyleInverse”
- style=”?android:attr/progressBarStyleLarge”
- style=”?android:attr/progressBarStyleLargeInverse”
- style=”?android:attr/progressBarStyleSmall”
- style=”?android:attr/progressBarStyleSmallInverse”
- Widget.ProgressBar.Horizontal
- Widget.ProgressBar.Small
- Widget.ProgressBar.Large
- Widget.ProgressBar.Inverse
- Widget.ProgressBar.Small.Inverse
- Widget.ProgressBar.Large.Inverse
(2)style/Widget.ProgressBar.Horizontal,样式定义的源码,此文件的位置(android-sdk\platforms\android-XX\data\res\values\)