Android笔记:根据进度代码改变progressbar背景颜色,ClipDrawable,LayerDrawable,setProgressDrawable


做个笔记,主要是需要使用ClipDrawable、LayerDrawable:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private void setProgressBg(int progress) {
    int a = progress * 255 100;
    int color = Color.argb(a, 25590147);
    ColorDrawable colorDrawable = new ColorDrawable();
    colorDrawable.setColor(color);
    ClipDrawable clipDrawable = new ClipDrawable(colorDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL);
 
    Drawable drawable = getResources().getDrawable(R.color.transparent);
    Drawable[] layers = new Drawable[]{drawable,clipDrawable};
    LayerDrawable layerDrawable = new LayerDrawable(layers);
    layerDrawable.setDrawableByLayerId(0,drawable);
    layerDrawable.setDrawableByLayerId(1,clipDrawable);
    progressBar.setProgressDrawable(clipDrawable);
 
    progressBar.setProgress(0);
    progressBar.setProgress(progress);
 
    Loger.d("Vote投票""result = " + progress);
    Loger.d("Vote投票""a = " + a);
}





本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1739160,如需转载请自行联系原作者

上一篇:编程式路由导航


下一篇:BGP 路由策略-advertise-map-ORF-路由拆分