http://www.lephone.net/thread-4186-1-1.html
今天学习给ProgressBar换个样式,先看效果图:, c) H, E- d8 Z! F( j% X
原理:在XML文件中分别定义进度条背景、第一进度颜色、第二进度颜色,然后在ProgressBar的android:progressDrawable属性应用即可。 . \6 j) a7 c+ ]! H- {$ C
先在drawable下建立progressbar_style.xml文件,内容如下:
- <?xml version="1.0" encoding="UTF-8"?>" N# m# [ B* `& ^& U+ a
- <layer-list
- xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:id="@android:id/background">
- <shape>! I4 u; b( w0 M8 C9 s, g" r U) G
- <corners android:radius="5.0dip" />
- <gradient android:startColor="#656666" android:endColor="#dbdedf" android:angle="270.0" android:centerY="0.75" android:centerColor="#bbbbbc" />% P( O+ e& F5 S. d8 z4 k# O% t
- </shape>( I* w" m g# D7 T- R( y( P0 K
- </item>
- <item android:id="@android:id/secondaryProgress">4 q$ O- k/ v( {
- <clip>
- <shape>
- <corners android:radius="8.0dip" />1 M9 \* U( @2 b4 u
- <gradient android:startColor="#e71a5e" android:endColor="#6c213a" android:angle="90.0" android:centerY="0.75" android:centerColor="#ac6079" />
- </shape> g6 P% r( H9 N" C1 N
- </clip>0 a. g. j* Y. p% e5 S
- </item>
- <item android:id="@android:id/progress">
- <clip>" L1 D$ k* `2 F1 ?2 d+ @0 P0 @
- <shape>. G. D; v/ k. h9 Q6 b- }
- <corners android:radius="8.0dip" /># B% k! H/ Q& {" Y
- <gradient android:startColor="#464647" android:endColor="#2d9ae7" android:angle="270.0" />, g# S" _; D+ I
- </shape>
- </clip>
- </item>
- </layer-list>
gradient是渐变,前面已经说过,corners定义的是圆角
布局中:
- <ProgressBar android:id="@+id/progressBar1" android:layout_width="fill_parent" android:layout_height="wrap_content"; H# Q3 ~8 T Z5 G1 n" ~
- style="?android:attr/progressBarStyleHorizontal" android:progressDrawable="@drawable/progressbar_style"& e& D+ f7 G& \( x5 w, O2 @
- android:progress="50" android:max="100" android:secondaryProgress="70"
- ></ProgressBar>