我在列表的元素中添加了进度栏,并动态地更新了进度栏。但是我面临的奇怪情况是..
当我的列表中有多个元素,并且我使用Progressbar.setProgressDrwable(),更改了进度条的颜色时,列表中的所有进度条都会更新,它们的颜色也会根据需要进行更改。
但是当我在列表中只有一个元素时,这个方法就不起作用了,我只能看到进度条的背景,而不是颜色。
我还为进度条的背景和颜色创建了XML文件,但它也不起作用。
我的ProgressDrawable的XMl代码是
FirstColor.xml
<item android:id="@android:id/background">
<shape>
<corners android:radius="15dip" />
<gradient android:startColor="#A9A9A9" android:centerColor="#A9A9A9"
android:endColor="#A9A9A9" android:angle="90" />
<stroke android:width="5dp" android:color="#A9A9A9" />
</shape>
</item>
<item android:id="@android:id/progress">
<scale android:scaleGravity="left" android:scaleWidth="100%" >
<shape>
<corners android:radius="15dip" />
<gradient android:startColor="#ADFF2F" android:centerColor="#ADFF2F"
android:endColor="#ADFF2F" android:angle="90" />
<stroke android:width="5dp" android:color="#ADFF2F" />
</shape>
</scale>
</item>SecondColor.xml
<item android:id="@android:id/background">
<shape>
<corners android:radius="15dip" />
<gradient android:startColor="#A9A9A9" android:centerColor="#A9A9A9"
android:endColor="#A9A9A9" android:angle="90" />
<stroke android:width="5dp" android:color="#A9A9A9" />
</shape>
</item>
<item android:id="@android:id/progress">
<scale android:scaleGravity="left" android:scaleWidth="100%" >
<shape>
<corners android:radius="15dip" />
<gradient android:startColor="#FFBF00" android:centerColor="#FFBF00"
android:endColor="#FFBF00" android:angle="90" />
<stroke android:width="5dp" android:color="#FFBF00" />
</shape>
</scale>
</item>
而我用来更改进度条颜色的java代码是
progressbar1.setProgressDrawable(getResources().getDrawable(R.drawable.FirstColor));progressbar1.setProgress(amntPercentage.intValue());
progressbar1.setProgressDrawable(getResources().getDrawable(R.drawable.SecondColor));progressbar1.setProgress(amntPercentage.intValue());
如果有人能解决我的问题,那就帮了大忙了。提前谢谢..
发布于 2011-07-01 18:54:48
在设置新的progressDrawable和progressvalue之前,请确保未将progressvalue设置为“0”。这是因为在进度条的style.xml中,我们只为开始、中间和结束定义了xml字段,而不是为'0‘定义。
在更改可绘制之前,我将progressvalue设置为'1‘,我的项目工作正常。
https://stackoverflow.com/questions/6488979
复制相似问题