android 簡單自定義環形進度條
阿新 • • 發佈:2019-02-13
一、通過動畫實現
定義res/anim/loading.xml如下:[html] view plaincopyprint?
- <?xmlversion="1.0"encoding="UTF-8"?>
- <animation-listandroid:oneshot="false"
- xmlns:android="http://schemas.android.com/apk/res/android">
- <itemandroid:duration="150"android:drawable="@drawable/loading_01"/>
-
<itemandroid:duration
- <itemandroid:duration="150"android:drawable="@drawable/loading_03"/>
- <itemandroid:duration="150"android:drawable="@drawable/loading_04"/>
- <itemandroid:duration="150"android:drawable="@drawable/loading_05"/>
-
<itemandroid:duration="150"android:drawable
- <itemandroid:duration="150"android:drawable="@drawable/loading_07"/>
- </animation-list>
二、通過自定義顏色實現
定義res/drawable/progress_small.xml如下:
[html] view plaincopyprint?- <?xmlversion="1.0"encoding="utf-8"?>
-
<rotatexmlns:android="http://schemas.android.com/apk/res/android"
- android:fromDegrees="0"
- android:pivotX="50%"
- android:pivotY="50%"
- android:toDegrees="360">
- <shape
- android:innerRadiusRatio="3"
- android:shape="ring"
- android:thicknessRatio="8"
- android:useLevel="false">
- <gradient
- android:centerColor="#FFFFFF"
- android:centerY="0.50"
- android:endColor="#1E90FF"
- android:startColor="#000000"
- android:type="sweep"
- android:useLevel="false"/>
- </shape>
- </rotate>
三、使用一張圖片進行自定義
定義res/drawable/progress_small.xml如下: [html] view plaincopyprint?
- <rotatexmlns:android="http://schemas.android.com/apk/res/android"
- android:drawable="@drawable/spinner_black_16"
- android:pivotX="50%"
- android:pivotY="50%"
- android:fromDegrees="0"
- android:toDegrees="360"/>
使用方法都一樣, 如下:
[html] view plaincopyprint?- <ProgressBar
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:indeterminateDrawable="@drawable/progress_small"/>
也可以根據需要通過設定style來設定其大小! 一般只有使用預設的ProgrressBar的時候採用。對於上述三種自定義的方式,建議修改直接修改圖片大小,或者shape;
[html] view plaincopyprint?- <ProgressBar
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_centerInParent="true"
- style="?android:attr/progressBarStyleSmall"
- android:indeterminateDrawable="@drawable/progress_small"/>
設定成progressBarStyleSmall後,圖示變小。
設定成progressBarStyleLarge後,圖示變大