Android(安卓)progressBar代码设置进度条颜色、背景颜色以及圆角显示
16lz
2021-01-24
效果如下:
Java代码设置如下:
int roundRadius = 15; // 8dp 圆角半径 The x-radius of the oval used to round the corners//准备progressBar带圆角的背景DrawableGradientDrawable progressBg = new GradientDrawable();//设置圆角弧度progressBg.setCornerRadius(roundRadius); //设置绘制颜色progressBg.setColor(getResources().getColor(R.color.color_efefef));//准备progressBar带圆角的进度条DrawableGradientDrawable progressContent = new GradientDrawable();progressContent.setCornerRadius(roundRadius);//设置绘制颜色,此处可以自己获取不同的颜色progressContent.setColor(getColorForIndex(position));//ClipDrawable是对一个Drawable进行剪切操作,可以控制这个drawable的剪切区域,以及相相对于容器的对齐方式ClipDrawable progressClip = new ClipDrawable(progressContent, Gravity.LEFT, ClipDrawable.HORIZONTAL);//Setup LayerDrawable and assign to progressBar//待设置的Drawable数组Drawable[] progressDrawables = {progressBg, progressClip};LayerDrawable progressLayerDrawable = new LayerDrawable(progressDrawables);//根据ID设置progressBar对应内容的DrawableprogressLayerDrawable.setId(0, android.R.id.background);progressLayerDrawable.setId(1, android.R.id.progress);//设置progressBarDrawableprogressBar.setProgressDrawable(progressLayerDrawable);//设置进度值progressBar.setProgress(item.getValue());
参考博客:
https://www.jianshu.com/p/c146419fc1b2
https://blog.csdn.net/buptlzx/article/details/8294979
https://blog.51cto.com/glblong/1739160
更多相关文章
- Android(安卓)中 shape 图形的使用
- Android实现按钮点击效果(第一次点击变色,第二次恢复)
- Android编程实现自定义ProgressBar样式示例(背景色及一级、二级
- Android报表控件achartengine介绍(一)
- Android(安卓)颜色渲染(二) 颜色区域划分原理与实现思路
- android 下滤镜效果的实现
- Android(安卓)中gradient的用法
- Android(安卓)Material Design 系列之 TextInputLayout 使用详解
- [自定义控件]android自定义view实战之太极图