2012-10-11 16 views
4

我想要在運行時更改seekbar進度顏色和背景顏色,而不是使用xml代碼。我知道如何使用xml (Layerlist-Shapedrawable-Clipdrawable) 我無法更改我的colors.xml中的顏色,所以我必須設置可由代碼繪製的進度。 我已經嘗試了與LayerDrawable等不同的東西......但沒有得到任何工作。 任何想法?Android Seekbar在運行時的進度顏色

回答

0
public void setProgressBarColor(ProgressBar progressBar, int newColor){ 
    LayerDrawable ld = (LayerDrawable) progressBar.getProgressDrawable(); 
    ClipDrawable d1 = (ClipDrawable) ld.findDrawableByLayerId(R.id.progressshape); 
    d1.setColorFilter(newColor, PorterDuff.Mode.SRC_IN); 

} 

當您更新進度時,您會看到結果。

可以嗎?

+0

感謝您的答案,但這不完全是我在找的。 嘗試了這一點,但問題是我正在使用漸變與開始,中心和結束顏色作爲進展。 ColorFilter將整個Progressbar進度更改爲單一顏色。 – user1737291