我想在运行时使用不使用xml的代码更改搜索条进度颜色和背景颜色。我知道如何用xml (Layerlist-Shapedrawable-Clipdrawable)
做到这一点
我无法更改colors.xml
中的颜色,因此我必须通过代码设置可绘制的进度。
我已经尝试过使用LayerDrawable等不同的东西......但是没有任何工作。
有什么想法吗?
答案 0 :(得分: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);
}
更新进度时,您会看到结果。
可以吗?