我有一个循环的进度条,它的工作正常.但是,即使我已经给出了xml可绘制文件中的“背景”的形状,并且进度从圆的右侧开始,因此没有出现背景(如图所示) ).我想要从顶部做出来.
这是我的代码:
<ProgressBar android:id="@+id/progressBarToday" style="?android:attr/progressBarStyleHorizontal" android:layout_width="50dip" android:layout_height="50dip" android:layout_centerInParent="true" android:indeterminate="false" android:max="60" android:progress="0" android:progressDrawable="@drawable/progressbar" />
progressbar.xml
<?xml version="1.0" encoding="UTF-8" ?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <---not working! <shape android:innerRadiusRatio="3" android:shape="ring" android:thicknessRatio="7.0"> <solid android:color="@color/red"/> </shape> </item> <item android:id="@android:id/progress"> <shape android:innerRadiusRatio="3" android:shape="ring" android:thicknessRatio="7.0"> <solid android:color="@color/blue"/> </shape> </item> </layer-list>
我使用以下代码设置进度:
ProgressBar pb = (ProgressBar)FindViewById (Resource.Id.progressBarToday); _progressBar.Progress = _progressCount;
为什么背景没有出现?我如何从顶部开始进步?
任何人请帮忙,谢谢.
解决方法
您需要将以下属性添加到后台项目中:
android:useLevel="false"
像这样:
<?xml version="1.0" encoding="UTF-8" ?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <---not working! <shape android:innerRadiusRatio="3" android:shape="ring" android:useLevel="false" android:thicknessRatio="7.0"> <solid android:color="@color/red"/> </shape> </item> <item android:id="@android:id/progress"> <shape android:innerRadiusRatio="3" android:shape="ring" android:thicknessRatio="7.0"> <solid android:color="@color/blue"/> </shape> </item> </layer-list>