我需要以编程方式将辅助进度栏颜色设置为 。
我只看到方法
ProgressBar.setProgressDrawable(drawable)
用于设置原色,但是没有用于设置第二色的方法。
我该怎么办?
最佳答案
ProgressBar.getProgressDrawable()
返回一个LayerDrawable
,其中:
LayerDrawable progressDrawable = (LayerDrawable) getProgressDrawable();
Drawable backgroundColor = progressDrawable.getDrawable(0);
Drawable secondaryColor = progressDrawable.getDrawable(1);
Drawable primaryColor = progressDrawable.getDrawable(2);
我尝试修改白色的颜色(示例):
progressDrawable.setDrawableByLayerId(progressDrawable.getId(2), new ClipDrawable(...));
但有时屏幕会卡住,有时会崩溃。
最终,我因时间不足而放弃了搜索。
对不起 :(
米歇尔