Android:动态设置颜色渐变的进度条

第一次写博客,有纰漏请见谅。Sweety

1、找到XML中的progressBar
ProgressBar progressBar = (ProgressBar)findViewById(。。。);

2、设置背景层和进度层
Drawable[ ] layers = new Drawable[2];

背景层:
int[ ] color = {Color.White, Color.White};
GradientDrawable background = new GradientDrawable(GradientDrawable.Orientation.LEFT_RIGHT, colors);
background.setCornerRadius(12);

进度层:
int [ ] proColors = {Color.Red, Color.Blue};
GradientDrawable progressBar = new GradientDrawable(GradientDrawable.Orientation.LEFT_RIGHT, proColors);
progressBar.setCornerRadius(12);
ClipDrawable clipDrawable = new ClipDrawable(progressDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL);

合成:
layers[0] = background;
layers[1] = clipDrawable ;
LayerDrawable layer = new LayerDrawable(layers);
layer.setId(0, android.R.id.background);
layer.setId(1, android.R.id.progress);

最后一步
progressBar.setProgressDrawable(layer);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值