代码动态设置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的属性值,决定剪切区域的大小。
代码如下:
【代码动态设置ProgressBar进度条样式】ClipDrawable d = new ClipDrawable(new ColorDrawable(Color.YELLOW),Gravity.LEFT,ClipDrawable.HORIZONTAL);
progressBar.setProgressDrawable(d);

    推荐阅读