设置ProgressBar滑动的颜色,其函数为:progressBar.setProgressDrawable(Drawable d);

但是,设置一个普通的Drawable是没有用的,ProgressBar会把该图片平铺。

正确的方式是:设置一个ClipDrawable,ClipDrawable 是对一个Drawable进行剪切操作,可以控制这个drawable的剪切区域,以及相相对于容器的对齐方式,android中的进度条就是使用一个ClipDrawable实现效果的,它根据level的属性值,决定剪切区域的大小。

代码如下:

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

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐