以编程方式更改进度条的颜色

时间:2015-08-06 14:49:08

标签: android colors progress-bar programmatically-created

我只想以编程方式更改Android中ProgressBar的颜色。 我的问题是,如何为进度设置不同的颜色,为"填充" - 进度条的一部分

示例:

  • 进度应为绿色

  • 最后一部分应为红色

it should look like this

3 个答案:

答案 0 :(得分:2)

没有可能这样做。 您必须开发自己的自定义视图才能实现此目的。

创建自定义视图,扩展布局,并使用布局作为进度条的背景。为您的成长进度添加另一个视图(以0dp宽度开始)。

添加公共方法以设置当前进度并调整进度视图的宽度。

答案 1 :(得分:0)

您无法使用官方API将自定义样式应用于进度条。

你可能可以使用反射来做到这一点。 进度条有一个私有字段mProgressTintInfo,其中包含以下字段:mProgressTintListmProgressBackgroundTintList,它们是ColorStateLists,mHasProgressTintmHasProgressBackgroundTint是布尔值。

我自己从未尝试过,它可能根本不起作用或仅适用于特定的API级别/设备。

答案 2 :(得分:0)

对不起我的英语,我说西班牙语 你可以实现自己的进度条,并覆盖方法" ondraw"并使用2个填充的矩形和2个用自己的颜色填充的圆圈。

再次,对我的英语非常抱歉,..