閱讀838 返回首頁    go 阿裏雲 go 技術社區[雲棲]


自定義圓形進度條ProgressBar的三種方式

https://liuzhichao.com/p/636.html

進度條默認是不確定(indeterminate=true)Android進度條

Android進度條有4種風格可以使用。

默認值是progressBarStyle。
設置成progressBarStyleSmall後,圖標變小。
設置成progressBarStyleLarge後,圖標變大
設置成progressBarStyleHorizontal後,變成橫向長方形。

自定義圓形進度條ProgressBar的一般有三種方式:

一、通過動畫實現

定義res/anim/loading_anim.xml如下:

1 <?xml version="1.0" encoding="utf-8"?>
2 <animation-list android:oneshot="false"
4   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f0" />
5   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f1" />
6   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f2" />
7   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f3" />
8   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f4" />
9   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f5" />
10   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f6" />
11   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f7" />
12   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f8" />
13   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f9" />
14   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f10" />
15   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f11" />
16   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f12" />
17   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f13" />
18   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f14" />
19   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f15" />
20   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f16" />
21   <item android:duration="150" android:drawable="@drawable/loading_blue_16_f17" />
22 </animation-list>

在layout文件中引用如下:

1 <ProgressBar
2         android:id="@+id/progressBar1"
3         android:layout_width="wrap_content"
4         android:layout_height="wrap_content"
5         android:layout_gravity="center_horizontal"
6         android:layout_marginBottom="20dip"
7         android:layout_marginTop="20dip"
8         android:indeterminate="false"
9         android:indeterminateDrawable="@anim/loading_anim" />

二、通過自定義顏色實現

定義res/drawable/loading_color.xml如下:

1 <?xml version="1.0" encoding="utf-8"?>
2 <rotate xmlns:android="https://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="#FFDC35"
14             android:centerY="0.50"
15             android:endColor="#CE0000"
16             android:startColor="#FFFFFF"
17             android:type="sweep"
18             android:useLevel="false" />
19     </shape>
20 </rotate>

在layout文件中引用如下:

1 <ProgressBar
2         android:id="@+id/progressBar2"
3         android:layout_width="wrap_content"
4         android:layout_height="wrap_content"
5         android:indeterminate="false"
6         android:indeterminateDrawable="@drawable/loading_color" />

三、使用一張圖片進行自定義

定義res/drawable/loading_img.xml如下:

1 <?xml version="1.0" encoding="utf-8"?>
2 <layer-list xmlns:android="https://schemas.android.com/apk/res/android" >
3     <item>
4         <rotate
5             android:drawable="@drawable/exchange_loading"
6             android:fromDegrees="0.0"
7             android:pivotX="50.0%"
8             android:pivotY="50.0%"
9             android:toDegrees="360.0" />
10     </item>
11 </layer-list>

在layout文件中引用如下:

1 <ProgressBar
2     android:id="@+id/progressBar3"
3     android:layout_width="wrap_content"
4     android:layout_height="wrap_content"
5     android:indeterminate="false"
6     android:indeterminateDrawable="@drawable/lodaing_img"
7     />

最後更新:2017-04-04 07:03:15

  上一篇:go cf 156 div.2 D. Mr. Bender and Square
  下一篇:go 在web和非web環境都可以使用的屬性文件屬性讀取java代碼