轉載自:http://gundumw100.iteye.com/blog/1289348
1: 在JAVA代碼中
在java代碼中 ProgressBar 繼承自View, 在android.widegt包中
ProgressDialog 繼承自Dialog, 在 android.app包中。
2: 在XML文件中
ProgressBar 默認是圓形轉圈。
當為ProgressBar設置style="?android:attr/progressBarStyleHorizontal",后ProgressBar變成水平進度條,可以設置progress 和maxprogress
ProgressBar 在默認情況下,如果設置其它的style:
<ProgressBar style="@android:style/Widget.ProgressBar.Inverse"/> 中等大小
<ProgressBar style="@android:style/Widget.ProgressBar.Large.Inverse"/> 大
<ProgressBar style="@android:style/Widget.ProgressBar.Small.Inverse"/> 小
a: 通過動畫實現自定義ProgressBar
定義res/anim/loading.xml如下:
<?xml version="1.0" encoding="UTF-8"?> <animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> <item android:duration="150" android:drawable="@drawable/loading_01" /> <item android:duration="150" android:drawable="@drawable/loading_02" /> <item android:duration="150" android:drawable="@drawable/loading_03" /> <item android:duration="150" android:drawable="@drawable/loading_04" /> <item android:duration="150" android:drawable="@drawable/loading_05" /> <item android:duration="150" android:drawable="@drawable/loading_06" /> <item android:duration="150" android:drawable="@drawable/loading_07" /> </animation-list>
在layout文件中引用如下:
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="false" android:indeterminateDrawable="@anim/loading" />
b:通過自定義顏色實現
定義res/drawable/dialog_style_xml_color.xml如下:
<?xml version="1.0" encoding="utf-8"?> <rotate xmlns: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="#FFDC35" android:centerY="0.50" android:endColor="#CE0000" android:startColor="#FFFFFF" android:type="sweep" android:useLevel="false" /> </shape> </rotate>
在layout文件中引用如下:
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/textView1" android:layout_below="@+id/textView1" android:indeterminateDrawable="@drawable/dialog_style_xml_color" android:indeterminate="false"
android:indeterminateDuration="1000" android:layout_marginTop="155dp" />
c、使用一張圖片進行自定義
定義res/drawable/dialog_style_xml_icon.xml如下:
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <rotate android:drawable="@drawable/dx_loading_dialog_rotate_img" android:fromDegrees="0.0" android:pivotX="50.0%" android:pivotY="50.0%" android:toDegrees="360.0" /> </item> </layer-list>
在layout文件中引用如下:
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:indeterminate="false" android:indeterminateDrawable="@drawable/dialog_style_xml_icon" />
d: <animated-rotate/>旋轉一張圖片:
res/drawable/custom_progress_draw.xml:
<?xml version="1.0" encoding="utf-8"?> <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/circular" android:pivotX="50%" android:pivotY="50%" />
<?xml version="1.0" encoding="utf-8"?> <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/circular" android:pivotX="50%" android:pivotY="50%" />