我想在运行时使用代码而不是 xml 更改搜索栏进度颜色和背景颜色。我知道如何使用 xml(Layerlist-Shapedrawable-Clipdrawable)
我无法更改其中的颜色,colors.xml
因此我必须通过代码设置可绘制的进度。我已经尝试过使用 LayerDrawable 等不同的东西......但没有任何工作。有任何想法吗?
问问题
1661 次
1 回答
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);
}
当您更新进度时,您将看到结果。
可以吗?
于 2012-10-11T08:04:29.957 回答