我正在开发一个要在其中显示 的应用程序ProgressBar,但我想替换默认的 Android ProgressBar。
ProgressBar
那么如何自定义ProgressBar呢?
我需要一些图形和动画吗?
自定义 aProgressBar需要为进度条的背景和进度定义一个或多个属性。
创建一个customprogressbar.xml在您的res->drawable文件夹中命名的 XML 文件:
customprogressbar.xml
res->drawable
custom_progressbar.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Define the background properties like color etc --> <item android:id="@android:id/background"> <shape> <gradient android:startColor="#000001" android:centerColor="#0b131e" android:centerY="1.0" android:endColor="#0d1522" android:angle="270" /> </shape> </item> <!-- Define the progress properties like start color, end color etc --> <item android:id="@android:id/progress"> <clip> <shape> <gradient android:startColor="#007A00" android:centerColor="#007A00" android:centerY="1.0" android:endColor="#06101d" android:angle="270" /> </shape> </clip> </item> </layer-list>
现在您需要在(drawable)中设置progressDrawable属性customprogressbar.xml
progressDrawable
您可以在 XML 文件或活动中(在运行时)执行此操作。
在您的 XML 中执行以下操作:
<ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyleHorizontal" android:progressDrawable="@drawable/custom_progressbar" android:layout_width="wrap_content" android:layout_height="wrap_content" />
在运行时执行以下操作
// Get the Drawable custom_progressbar Drawable draw=res.getDrawable(R.drawable.custom_progressbar); // set the drawable as progress drawable progressBar.setProgressDrawable(draw);
编辑:更正了 xml 布局