以水平方向進度條為例,介紹如何自定義進度條。
1.在drawable文件夾下建立自己的進度條模版,右鍵drawable→new→Android XML file→layer list→自己起個名字(如progressBar_horizontal_1)
代碼如下
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <corners android:radius="8.0dip" /> <!-- 填充的顏色,顏色為自定義 --> <solid android:color="@color/white" /> </shape> </item> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="8.0dip" /> <!-- <gradient android:startColor="@color/black" android:endColor="@color/blue" android:centerColor="@color/lightbule" android:angle="270.0" /> --> <!-- 填充的顏色 --> <solid android:color="@color/blue" /> </shape> </clip> </item> </layer-list>
2.右鍵Value文件夾→new→Android XML file→resources→自己起個名字(如mprogressBar1)
代碼如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="mProgressBar1"> <item name="android:indeterminateOnly">false</item> <item name="android:progressDrawable">@drawable/progress_bar_horizontal1</item><!-- progress_horizontal --> <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item> <item name="android:minHeight">20dip</item> <!--設置進度條的高度 -->
<item name="android:maxHeight">20dip</item>
</style>
</resources>
3.在layout.xml文件里快樂的使用自己做的進度條,代碼如下:
<ProgressBar android:id="@+id/M_progressBar" style="@style/mProgress_horizontal1" android:layout_width="200dip" android:layout_height="wrap_content" android:max="100" <!-- 進度條的最大值 --> android:progress="10"<!-- 進度條的目前 --> android:secondaryProgress="20" />