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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android笔记:根据进度代码改变progressbar背景颜色,ClipDrawable,LayerDrawable,setProgressDrawable相关的知识,希望对你有一定的参考价值。


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

private void setProgressBg(int progress) {
    int a = progress * 255 / 100;
    int color = Color.argb(a, 255, 90, 147);
    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);
}






本文出自 “天空没有痕迹但我飞过” 博客,请务必保留此出处http://glblong.blog.51cto.com/3058613/1739160

以上是关于Android笔记:根据进度代码改变progressbar背景颜色,ClipDrawable,LayerDrawable,setProgressDrawable的主要内容,如果未能解决你的问题,请参考以下文章

Android-自定义进度条

如何在 Android 中自定义进度条

Android之SeekBar的简单使用

Android零基础入门第51节:进度条ProgressBar

Android学习笔记——显示运行进度对话框

高级UI组件