1. 程式人生 > >程式碼動態設定ProgressBar進度條樣式

程式碼動態設定ProgressBar進度條樣式

1、設定水平顯示進度

pb = new ProgressBar(activity, null, android.R.attr.progressBarStyleHorizontal);

2、 設定背景顏色

pb.setBackgroundColor(Color.GRAY);

3、設定進度條顏色

設定progressBar滑動的顏色,
progressBar.setProgressDrawable(Drawable d);
但是,設定一個普通的Drawable是沒有用的,Progress會把該圖片平鋪。

正確的方式是:設定一個ClipDrawable,ClipDrawable是對Drawable進行剪下操作,可以控制這個Drawable的剪下區域,以及相對容器的對齊方式,android中的進度條就是使用一個ClipDrawable實現效果的,它根據level的屬性值,決定剪下區域的大小。
程式碼如下:

ClipDrawable d = new ClipDrawable(new ColorDrawable(Color.YELLOW),Gravity.LEFT,ClipDrawable.HORIZONTAL);
progressBar.setProgressDrawable(d);