刚开始感觉很奇怪,系统的progressBar真是个大坑,在4.0的机器上一切正常,但在2.3的机器上进度条楞是怎么也不走,被坑了几天,终于在今晚查资料看到stackoverflow上有这个问题的解决办法。修复的办法很简单,下面几句代码就可以
Rect bounds = mySeekBar.getProgressDrawable().getBounds();
mySeekBar.setProgressDrawable(newSeekBarBackground);
mySeekBar.getProgressDrawable().setBounds(bounds);
自己真是无知,只想着网上找答案,看到了答案才恍然大悟,原理如此简单,以前也遇到setDrawable不能出现的问题,这种问题十有八九原因就是没有setBounds,就是这么简单。另外,项目要求在不同状态下进度条颜色不同,开始用了不同状态用setProgressDrawbale设置不同背景的办法,结果发现在2.3机器上此做法还是有坑,干脆不同用progress和SecondaryProgress来解决这个问题,算是绕过了这个坑,坑真是无处不在。
另附stackoverflow地址http://stackoverflow.com/questions/6220910/how-to-dynamically-change-the-color-of-progress-bar-background-android