我在使用Android自定義ProgressBars時遇到了一些困難。也就是說,我有兩個正確的自定義ProgressBar的.xml描述。 在這裏,他們是:Android自定義進度條操作
custom_progress_bar_horizontal.xml:
<?xml version="1.0" encoding="UTF-8"?> <!-- @author : @ --> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <corners android:radius="0dip" /> <stroke android:width="1dp" android:color="#ff000000" /> <gradient android:startColor="#ffEEEEEE" android:centerColor="#ffEEEEEE" android:centerY="0.50" android:endColor="#ffEEEEEE" android:angle="270" /> </shape> </item> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="0dip" /> <stroke android:width="1dip" android:color="#ff000000" /> <gradient android:startColor="#ff86CF10" android:endColor="#ff86CF10" android:angle="90" /> </shape> </clip> </item>
custom_progress_bar_hor_night.xml:
<?xml version="1.0" encoding="UTF-8"?> <!-- @author : @ --> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <corners android:radius="0dip" /> <stroke android:width="1dp" android:color="#ffffffff" /> <gradient android:startColor="#ff000000" android:centerColor="#ff000000" android:centerY="0.50" android:endColor="#ff000000" android:angle="270" /> </shape> </item> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="0dip" /> <stroke android:width="1dip" android:color="#ffffffff" /> <gradient android:startColor="#ff86CF10" android:endColor="#ff86CF10" android:angle="90" /> </shape> </clip> </item>
如您所見,這些自定義ProgressBars僅在背景顏色和形狀線的顏色方面有所不同。
現在,從Android應用程序(java代碼)切換這兩個.xml文件(ProgressBar設計)的最佳方式是什麼?實際上,我想在按下應用程序屏幕上的按鈕時切換ProgressBar設計。
我應該將兩個ProgressBar實例放在另一個上面並更改它們的可見性(一個可見的其他不可見反之亦然),還是有更智能的方法來處理單個ProgressBar實例?
編輯:
我知道的方法描述here。
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="2999" android:drawable="@drawable/progress_horizontal_red" />
<item android:maxLevel="4999" android:drawable="@drawable/progress_horizontal_yellow" />
<item android:maxLevel="10000" android:drawable="@drawable/progress_horizontal_green" />
</level-list>
我想達到的相當類似的事情:用戶根據使用以下方法當前進度值進度條的三種不同的.xml描述之間進行選擇。唯一的區別是我不希望當前的進度值改變我在屏幕上可見的.xml文件。我希望能夠通過按下按鈕來改變ProgressBar設計。 我覺得android:maxLevel="xxxx"
選擇器應該改變一些可以採取true
或false
值的東西。按下按鈕即可切換此true/false
值。
任何意見將不勝感激。
非常感謝您的時間和精力。
此致, 博揚。
就在中心,隊友!這正是我所期待的。你爲我創造了一天,爲我節省了很多時間。謝謝! – bojankoce