要在Android ProgressBar上實(shí)現(xiàn)漸變效果,您可以使用android:indeterminateOnly
屬性為ProgressBar設(shè)置一個(gè)可變的進(jìn)度條。然后,通過(guò)創(chuàng)建一個(gè)SVG圖像并將其設(shè)置為背景,您可以實(shí)現(xiàn)漸變效果。以下是實(shí)現(xiàn)此效果的步驟:
在res/drawable
文件夾下創(chuàng)建一個(gè)名為progress_drawable.xml
的文件。
將以下代碼添加到progress_drawable.xml
文件中:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/secondaryProgress">
<clip>
<shape android:shape="line">
<stroke
android:color="#80FFFFFF"
android:width="4dp"/>
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape android:shape="line">
<stroke
android:color="#FFFFFF"
android:width="4dp"/>
</shape>
</clip>
</item>
</layer-list>
在這個(gè)例子中,我們定義了兩個(gè)條目:secondaryProgress
和progress
。secondaryProgress
用于創(chuàng)建一個(gè)較窄的白色進(jìn)度條,而progress
用于創(chuàng)建一個(gè)較寬的白色進(jìn)度條。您可以根據(jù)需要自定義這些顏色和寬度。
android:indeterminateOnly
屬性設(shè)置為false
。將android:background
屬性設(shè)置為我們剛剛創(chuàng)建的progress_drawable.xml
文件。例如:<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminateOnly="false"
android:background="@drawable/progress_drawable"/>
ProgressBar progressBar = findViewById(R.id.progressBar);
int progress = 50;
progressBar.setProgress(progress);
現(xiàn)在,您的ProgressBar應(yīng)該具有漸變效果。您可以根據(jù)需要自定義顏色、寬度和進(jìn)度值。