我制作了一个自定义进度条并将其颜色设置为可绘制文件:
<item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="30dip" /> <gradient android:startColor="#CCFF33" android:centerColor="#33CC33" android:endColor="#009933" /> </shape> </clip>
在网上搜索了一段时间后,我找到了一种在{1}}上创建progressBar
的方法,以便文字显示进度条中进度的百分比。
点击按钮后,进度开始。我将颜色设置为绿色。在进度达到100%后,我希望它再次启动,只是这次它的颜色应该是红色。
我尝试使用textView
执行此操作,但单击按钮后进度条消失了。有什么建议或想法吗?
答案 0 :(得分:0)
我遇到了同样的问题,我找到了解决方案here
简而言之,诀窍是使用Drawable的getBounds / setBounds
Rect bounds = mProgressBar.getProgressDrawable().getBounds(); // get current bounds before change drawable
mProgressBar.setProgressDrawable(res.getDrawable(R.drawable.use_different_drawable_here));
mProgressBar.getProgressDrawable().setBounds(bounds); // set bounds back
mProgressBar.setProgress(50); // you need to set progress again, because after changing drawable, progress is reset to 0 (I think so)