Android 以编程方式更改进度条的颜色
我只想以编程方式更改Android中Android 以编程方式更改进度条的颜色,android,colors,progress-bar,programmatically-created,Android,Colors,Progress Bar,Programmatically Created,我只想以编程方式更改Android中ProgressBar的颜色。 我的问题是,如何为进度设置不同的颜色,为进度栏的“填充”部分设置另一种颜色 例如: 进步应该是绿色的 最后一部分应该是红色的 您不能使用官方API将自定义样式应用于Progressbar 不过,您可能可以使用反射来完成。 Progressbar有一个私有字段mProgressTintInfo,它有以下字段:mProgressTintList和mProgressBackgroundTintList,它们是ColorStateL
ProgressBar
的颜色。
我的问题是,如何为进度设置不同的颜色,为进度栏的“填充”部分设置另一种颜色
例如:
- 进步应该是绿色的
- 最后一部分应该是红色的
您不能使用官方API将自定义样式应用于Progressbar 不过,您可能可以使用反射来完成。 Progressbar有一个私有字段
mProgressTintInfo
,它有以下字段:mProgressTintList
和mProgressBackgroundTintList
,它们是ColorStateList和mHasProgressTint
,它们是布尔值
我自己从未尝试过,它可能根本不起作用,或者只在特定的API级别/设备上起作用。对不起,我的英语很好,我会说西班牙语 您可以实现自己的progressbar,并覆盖“ondraw”方法,使用2个填充矩形和2个填充圆,并使用您自己的颜色
再次,超级对不起我的英语 不可能这样做。 为了实现这一点,您必须开发自己的自定义视图 创建自定义视图,扩展布局,并将该布局用作进度条的背景。为不断增长的进度添加另一个视图(从0dp宽度开始) 添加一个用于设置当前进度的公共方法,并调整进度视图的宽度。看看这个